2017-01-17 7 views
-1

libgdxの私の俳優がinputListenerが正常に動作しない場合、Gdx.input.setInputProcessorを開始したことを確認しました。私の境界が正しく設定されていることを確認しています。この問題でlibgdxアクター入力が正しく動作しない

コード:

Sprite playButton = new Sprite(new Texture(Gdx.files.internal("badlogic.jpg"))); 


public playBtn(){ 
    setBounds(playButton.getX(),playButton.getY(),getWidth(),getHeight()); 
    setTouchable(Touchable.enabled); 
    addListener(new InputListener(){ 
     @Override 
     public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) { 
      Gdx.app.log("Example", "touch started at (" + x + ", " + y + ")"); 
      return false; 
     } 
     @Override 
     public void touchUp (InputEvent event, float x, float y, int pointer, int button) { 
      Gdx.app.log("Example", "touch done at (" + x + ", " + y + ")"); 
     } 

    }); 



} 

@Override 
public void draw(Batch batch, float parentAlpha) { 
    playButton.draw(batch); 


} 

@Override 
public void act(float delta) { 
    super.act(delta); 
} 

メインクラス:

public MenuState(GameStateManager gsm){ 
    super(gsm); 


    ScreenViewport screenViewport = new ScreenViewport(); 
    menuStage = new Stage(screenViewport); 
    playBtn playButton= new playBtn(); 
    menuStage.addActor(playButton); 
    Gdx.input.setInputProcessor(menuStage); 



    background = new Sprite(new Texture("MenuBG.png")); 
    project = new Project(); 
    background.setSize(project.WIDTH,project.HEIGHT); 


} 


@Override 
protected void handleInput() { 

} 

@Override 
public void update(float dt) { 
    handleInput(); 

} 



@Override 
public void render(SpriteBatch sb) { 



    sb.begin(); 
    background.draw(sb); 
    sb.end(); 
    menuStage.act(Gdx.graphics.getDeltaTime()); 
    menuStage.draw(); 

} 
+0

"inputlistenerが動作していない" というあまり役に立ちません。どのように動作していないのか説明したいかもしれません。それは間違ったことをしますか?それはまったく呼ばれないのですか?さらに、読みやすいように投稿されたコードを少しきれいにすることもできます。 – Thomas

+0

@Thomasもう一度それを編集して、inputlistenerが呼び出されないことを確かめてください – icedbluw

答えて

0

試してみてください。

setBounds(playButton.getX(), playButton.getY(), playButton.getWidth(), playButton.getHeight()) 
関連する問題