gpt4 book ai didi

java - 连续旋转图像

转载 作者:行者123 更新时间:2023-11-29 03:07:52 25 4
gpt4 key购买 nike

我想在逆时针方向不断旋转环图像这是我的代码

public class SpriteSheet extends ApplicationAdapter {
Stage stage;

@Override
public void create () {
stage=new Stage(new ScreenViewport());
Group group=new Group();

Image background =new Image(new Texture(Gdx.files.internal("background.png")));
Image button=new Image(new Texture(Gdx.files.internal("btn.png")));
Image ring=new Image(new Texture(Gdx.files.internal("ring2.png")));

background.setName("background");
button.setName("button");
ring.setName("ring");

group.addActor(background);
group.addActor(button);
group.addActor(ring);

stage.addActor(group);

background.setPosition(Gdx.graphics.getWidth()/2-background.getWidth()/2,Gdx.graphics.getHeight()/2-background.getHeight()/2);
button.setPosition(Gdx.graphics.getWidth()/2-button.getWidth()/2,Gdx.graphics.getHeight()/2-button.getHeight()/2);

ring.setPosition(255,105);

ring.setOrigin(255f,105f);
ring.rotateBy(2f); // I need continuous rotation here
}

@Override
public void render () {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
}
}

最佳答案

我猜 Actions是你要找的。
Action 可以添加到 Actor(和子类),它们将在 act(delta) 方法中执行, > Actor
在您的情况下,您可以使用 Actions.rotateBy(float rotationAmount, float duration) 并使用 Actions.repeat(RepeatAction.FOREVER, rotateAction) 让它永远重复。

所以你的最终代码应该是这样的:

ring.addAction(Actions.repeat(RepeatAction.FOREVER, Actions.rotateBy(rotation, duration)));

rotation 是旋转量(我猜是度数,但我不确定),duration 是旋转给定量所需的时间(以秒为单位)。

关于java - 连续旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31132869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com