如何使用CCAnimation移动精灵?

时间:2013-11-16 21:56:49

标签: cocos2d-iphone

目前我正在使用CCLayer的更新方法来移动X,Y sprite axys工作正常,但我想确保我可以在CCAnimation中做同样的事情。

我搜索过,似乎CCAnimation只处理帧动画,这是正确的吗?任何方向?

感谢

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找CCMoveByCCMoveTo

CCAction *actionMove = [CCMoveBy actionWithDuration:duration 
                                           position:ccp(dx, dy)];
[target runAction:actionMove];

您可以使用CCAnimate操作同时执行此操作。

顺便提一下,除了这两个之外,还有更多的CCAction子类。您可以旋转和缩放精灵,组合动作,调用自定义选择器等。查看class hierarchy以获取更多创意。

答案 1 :(得分:1)

在策略游戏中,为了移动一名士兵,我会产生3个并发动作:一个CCMoveTo,一个与旅行方向相对应的CCAnimate,以及一系列回调信号,当士兵出口一块瓷砖或站在在行走期间的瓷砖中间。

但请注意警告:在8个方向中的任何一个方向上进行简单的直线运动,不会在“途中”发生碰撞。如果您的精灵需要自由移动,或者在开始移动后动作可能会受阻,请选择当前的方法在更新周期中刷新位置。