2016-08-09 2 views
1

Это мой код:LibGDX: ImageButton clicklistener не работает

 Gdx.input.setInputProcessor(this); 
     bagImage = new Image(new Texture("bag.png")); 
     bagButton = new ImageButton(bagImage.getDrawable()); 
     bagButton.setSize(125, 125); 
     bagButton.addListener(new ClickListener() { 
      public void clicked(InputEvent event, float x, float y) { 
       Gdx.app.debug("DEBUG", "clicked"); 
      } 
     }); 
    } 

Если я нажимаю на кнопку ничего не происходит. Зачем?

ответ

1

Вы должны stage и добавить ImageButton к этой стадии затем setInputProcessor на данном этапе, и вы можете использовать только изображение вместо ImageButton, так как вы не используете imageUp, imageDown .....

вы код должен быть например:

Stage stage = new Stage(); 
Gdx.input.setInputProcessor(stage); 
bagImage = new Image(new Texture("bag.png")); 
bagImage.setSize(125, 125); 
stage.addActor(bagImage); 
bagImage.addListener(new ClickListener() { 
    public void clicked(InputEvent event, float x, float y){ 
     Gdx.app.debug("DEBUG", "clicked"); 
     } 
    }); 

@Override 
public void render(float delta) { 
    stage.act(delta); 
    stage.draw(); 
}