我正在开发一个Android游戏,在eclipse中使用libGDX。每当玩家得分 10 分时,我想加快我的场景(运行机)的速度。运行机的初始速度等于 0,每 10 分得到 5 分。当角色掉出屏幕时,玩家就输掉了游戏。有人知道该怎么做吗?
最佳答案
我想你已经意识到 treadmill
动画 Animation
。首先看一下this tutorial 。您会注意到float stateTime
以及 new Animation(0.025f, walkFrames);
中的第一个参数。 stateTime
描述您当前的时间。第一个参数Animation
描述帧的持续时间。如果stateTime
大于 frameDuration
下一个Texture
/Sprite
Animation
的将被绘制。
您无法更改此float frameDuration
,只能在构造函数中设置。但你可以设置stateTime
。通常你使用stateTime += delta
,这样你就有了准确的时间。要加快/减慢速度,您可以将其乘以 float speed
:
stateTime += delta * speed;
- 对于
speed < 0
一帧需要更长的时间,所以Animation
速度较慢。 - 对于
speed == 0
Animation
速度正常。 - 对于
speed > 0
Animation
更快。
如果你死了,只需重置 speed
到 0,所以 treadmill
不会被动画化,因为状态时间永远不会改变:stateTime + (delta * 0) = stateTime
关于java - libGDX - 如何加速场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22227636/