目前我正在使用CCLayer的更新方法来移动X,Y sprite axys工作正常,但我想确保我可以在CCAnimation中做同样的事情。
我搜索过,似乎CCAnimation只处理帧动画,这是正确的吗?任何方向?
感谢
答案 0 :(得分:2)
我认为您正在寻找CCMoveBy
或CCMoveTo
:
CCAction *actionMove = [CCMoveBy actionWithDuration:duration
position:ccp(dx, dy)];
[target runAction:actionMove];
您可以使用CCAnimate
操作同时执行此操作。
顺便提一下,除了这两个之外,还有更多的CCAction
子类。您可以旋转和缩放精灵,组合动作,调用自定义选择器等。查看class hierarchy以获取更多创意。
答案 1 :(得分:1)
在策略游戏中,为了移动一名士兵,我会产生3个并发动作:一个CCMoveTo,一个与旅行方向相对应的CCAnimate,以及一系列回调信号,当士兵出口一块瓷砖或站在在行走期间的瓷砖中间。
但请注意警告:在8个方向中的任何一个方向上进行简单的直线运动,不会在“途中”发生碰撞。如果您的精灵需要自由移动,或者在开始移动后动作可能会受阻,请选择当前的方法在更新周期中刷新位置。