gpt4 book ai didi

java - 动画未播放 (LibGDX)

转载 作者:行者123 更新时间:2023-12-02 12:55:12 24 4
gpt4 key购买 nike

我有一个名为 diceAnimation 的有效动画,来自名为 dice 的有效 TextureAtlas,其中包含多个帧。我遇到的问题是渲染它。我使用下面的代码来渲染动画,但它只显示第一帧。如果我将 timeElapsed 设置为每次添加一而不是使用增量时间,它会产生动画,但速度非常快,忽略构造中定义的每秒帧数。大家有什么想法吗?

int elapsedTime;

@Override
public void create() {
batch = new SpriteBatch();
dice = new TextureAtlas("textures/dice/dice.atlas");
diceAnimation = new Animation<TextureRegion>(0.033f, dice.findRegions("one"), PlayMode.LOOP);
}

// ...

@Override
public void render () {
elapsedTime += Gdx.graphics.getDeltaTime();

Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

batch.begin();
batch.draw(diceAnimation.getKeyFrame(elapsedTime, true), 100, 100);
batch.end();
}

最佳答案

int elapsedTime 的数据类型应该是 float 而不是 int。

<小时/>

OFF_TOPIC

PlayMode.LOOP 是 diceAnimation 的 PlayMode,因此您可以使用

batch.draw(diceAnimation.getKeyFrame(elapsedTime), 100, 100);

关于java - 动画未播放 (LibGDX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44449770/

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