我想旋转一个按钮。因此我写了以下代码:

public void show () {
        skin2 = new Skin (Gdx.files.internal("SettingsButton.json"));
        button2 = new Button(skin2);
        button2.setPosition(25,1440);
        button2.setSize(120,120);
        button2.setOrigin(button2.getWidth() / 2, button2.getHeight() / 2);
        button2.addAction(Actions.repeat(RepeatAction.FOREVER,
                Actions.sequence(
                        Actions.rotateBy(360, 1),
                        Actions.rotateTo(0))));
        button2.addListener(new ClickListener(){
            @Override
            public void clicked(InputEvent event, float x, float y) {
                game.setScreen(new SettingsScreen(game));
                super.clicked(event, x, y);
            }
        });

        stage.addActor(button2);
}

不幸的是,按钮不旋转,但我不知道为什么。 如何改进我的代码?

最佳答案

出于性能原因,大多数 scene2d.ui 组默认将 transform 设置为 false。

有关更多详细信息,您可以检查
https://github.com/libgdx/libgdx/wiki/Scene2d.ui#rotation-and-scale

您需要使用 setTransform(..) 方法启用转换

button2.setTransform(true);

关于java - 按钮不旋转 libGDX,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45607029/

10-11 00:27