Cocos2D动画问题

时间:2014-07-23 20:17:52

标签: ios animation cocos2d-iphone spritebuilder

我正在使用spriteBuilder在Cocos2D版本3.1中制作游戏。我通过将帧列表添加到数组并将其存储在缓存中来创建我的动画。当我需要运行动画时,我从缓存中获取它并在屏幕上播放它。这适用于我正在运行的动画。我有另一个动画,我的角色正在滑动。当我在运行动画后播放我的滑动动画时,我的角色似乎在半空中滑动,而不是与地面相交。造成这种情况的原因可能是因为在运行动画之后帧被无限地加载,因此它们被加载到与正在运行的动画相同的位置。由于滑动动画的帧小于正在运行的动画,因此它看起来像玩家正在浮动。

我想知道是否有任何方法可以让帧加载得更低,以便它们接触地面。是否唯一的方法是在加载幻灯片动画时按下英雄的位置,然后在我想加载运行动画时备份?

谢谢

1 个答案:

答案 0 :(得分:0)

你在游戏中使用(或将使用)重力吗?如果没有力向下推动精灵,你可以在每次加载动画时按下精灵的位置,或者只对所有动画使用相同的帧大小。

编辑: 你似乎知道框架的底部应该在哪里。在地上?因此,如果您希望在加载动画时精灵的底部位于同一位置,请将位置设置为:

sprite.position = ccp(x, theBottomY + sprite.boundingBox.size.height/2);