gpt4 book ai didi

java - 如何在Libgdx中制作类似Flappy Bird的动画?

转载 作者:行者123 更新时间:2023-12-02 03:26:58 25 4
gpt4 key购买 nike

我正在创建一款类似 flappybird 的游戏,其中小鸟仅在触摸屏幕时拍打翅膀,但在触摸屏幕时激 Activity 画时遇到问题。

batch.draw(animation.getKeyFrame(myTimeState, false), x, y); //the myTimeState is 0 to render the 1st frame only.

然后当触摸屏幕时我会这样做:

//myTimeStep is just basically a controllable timeState for the animation only

if(Gdx.input.justTouched){
myTimeState = timeState;
}else if(Gdx.input.justTouched == false && animation.isAnimationFinished(timeState)){
myTimeState = 0;
}

我认为动画无法播放所有帧,因为在完成触摸屏幕后 myTimeStep 立即变为 0。另外,我认为这不是正确的方法,如果你们有更好的想法或解决方案,请提供帮助。提前致谢。

最佳答案

可能有多种方法可以实现这一目标。当然,您需要增加 timeState,这还取决于动画的长度以及是否希望它循环。

如果您创建的动画仅播放一次,然后停止(直到再次触摸屏幕),则只需在触摸屏幕时将 myTimeState 设置为 0,然后每帧递增它。动画将运行,然后在到达末尾时自行“停止”(正如您所说的没有循环)。下次有人触摸屏幕时,您的 myTimeState 将设置回 0,并且动画将再次开始。

关于java - 如何在Libgdx中制作类似Flappy Bird的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38703422/

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