缩放后的libgdx actor输入监听器

时间:2014-07-25 06:47:21

标签: input libgdx listener scale actor

我的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);

通过添加:

来修改我的guiStage
guiStage.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);

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在提供的链接中有人回答我,他是对的。

@Override
public void resize(int width, int height) {
    guiStage.getViewport().update(width, height, true);
}

这样做了:)