2
다음은 혼란스러운 코드입니다. 나는 뭔가를 여기에서 놓치고 있을지도 모른다. 그러나 그것을 이해할 수 없었다. LIBGDX : 클래스가 scene2d를 확장하면 hit() 메서드가 호출되지 않습니다. 스테이지
public class TStage extends Stage {
public TStage(float width, float height, boolean stretch) {
super(width, height, stretch);
}
@Override
public Actor hit(float x, float y) {
Gdx.app.debug("HUNT", "in hit of TStage");
return super.hit(x, y);
}
}
public class TActor extends Actor {
@Override
public void draw(SpriteBatch batch, float parentAlpha) {
// draw something here
}
@Override
public Actor hit(float x, float y) {
Gdx.app.debug("HUNT", "in hit of TActor");
return null;
}
}
/* Code to set stage*/
TStage stage = new TStage(Hunt.GAME_WIDTH, Hunt.GAME_HEIGHT, false);
Gdx.input.setInputProcessor(stage);
TActor actor1 = new TActor();
stage.addActor(tactor);
나는 화면을 터치
출력 :
in hit of TActor
내가 무엇을 기대하고있다 :
in hit of TStage
in hit of TActor
내가 TStage 클래스
@Override
public Actor touchDown(int x, int y, int pointer, int button) {
Gdx.app.debug("HUNT", "in touchDown of TStage");
return super.touchDown(x, y, pointer, button);
}
이제 출력은 다음과 같습니다
in touchDown of TStage
in hit of TActor
네, 맞습니다. 나는 당신의 제안을 산출물과 함께 덧붙였다. 그것이 그 길인 것처럼 보인다. – Pradeep