我的libgdx actor监听器有问题。首先,我必须说它工作正常。按钮scalling我遇到了问题。这里有截图的精彩描述:http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=15535&p=67247#p67247
添加PPM(每米像素数)后
jumpButton.setPosition(Runner.SCREEN_WIDTH/PPM - jumpButton.getWidth()/PPM - 20/PPM, jumpButton.getHeight()/PPM + 20/PPM + 40/PPM);
和尺寸:
jumpButton.setWidth(jumpButton.getWidth()/PPM);
jumpButton.setHeight(jumpButton.getHeight()/PPM);
通过添加:
来修改我的guiStageguiStage.setViewport(guiStretchViewport);
guiCamera.setToOrtho(false, Runner.SCREEN_WIDTH/PPM, Runner.SCREEN_HEIGHT/PPM);
问题解决了,因为它使用PPM进行缩放,就像游戏世界中的任何其他对象一样。
问题在于听众之前正在工作(!)但现在我认为它不会因为某种原因而像纹理那样缩小。我设定了界限,我设定了尺寸,我不知道出了什么问题。
这是我的按钮:
jumpButton = new Image((Texture)ResourcesManager.getInstance().getResource(ScreenType.SCREEN_GAME, "gfx/game/characters/buttons/jumpButton.png"));
jumpButton.setPosition(Runner.SCREEN_WIDTH/PPM - jumpButton.getWidth()/PPM - 20/PPM, jumpButton.getHeight()/PPM + 20/PPM + 40/PPM);
jumpButton.setWidth(jumpButton.getWidth()/PPM);
jumpButton.setHeight(jumpButton.getHeight()/PPM);
jumpButton.setBounds(jumpButton.getX(), jumpButton.getY(), jumpButton.getWidth(), jumpButton.getHeight());
jumpButton.addListener(new InputListener() {
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
world.player.jump();
return true;
}
});
guiStage.addActor(jumpButton);
感谢您的帮助。
答案 0 :(得分:0)
在提供的链接中有人回答我,他是对的。
@Override
public void resize(int width, int height) {
guiStage.getViewport().update(width, height, true);
}
这样做了:)