andengine中tiledmap中角色行走的细节处理

昨天开始,想在游戏中实际应用一下andengine,在人物控制运动时就碰到了细节问题。

点击上下左右人物行走时,发现连续行走和按一下行走时有些问题。

连续动画行走使用

player.animate(new long[] { 200, 200, 200 }, 0,2, true);

这种方式就行,而按一下行走,应该就是不连续的,应该立即停止。

因此,按一下走一下的方式,要不就用

player.animate(new long[] { 200, 200, 200 }, 0,2, true);
player.stopAnimation();

或者

player.animate(new long[] { 200, 200, 200 }, 0,2, 0);

的方式。

但刚开始使用,就发现一个现象,按一下走一下的动画不会运行,一直处于第一帧的位置。

于是看了一下animatesprite中的运行方式,发现一但stopanimation,那么这时候动画播放到第几帧就到第几帧,不会等运行完一遍后在停止。而且还没有继续在上一个状态启动的方法。因此如果按一下走一下的方式,图像没法连贯。

试验了几种方式,总算有一种方式起码还算平滑。

就是不管是什么都按照Loop的方式运行,在停止时,调用stopanimation,然后再调用设置loopcount的方式,而且只取最后两帧,这样看起来的效果还不错

player.animate(new long[] { 200, 200, 200 }, 0,2, true);//commend by danielinbiti
player.stopAnimation();
player.animate(new long[] {  200, 200 }, 1,2, 0);


你可能感兴趣的:(AndEngine,tiledmap,animatesprite,stopanimation,行走连贯)