使用CCRotateBy进行Cocos2d摇摆动画?

时间:2012-05-07 06:52:55

标签: iphone ios cocos2d-iphone ccrotateby

我是Cocos2d的新手,并且得到了一些帮助。

我有一个精灵,我想向左旋转45度,再次居中,然后向右旋转约45度。有点像摇摆运动。

当我触摸实际的精灵时,我希望这样做,而不仅仅是屏幕上的任何位置。

就像现在一样,当我触摸屏幕上的任何地方时,它会旋转360度(360度进行测试)但每次点击屏幕我都会得到一个新的精灵。

我的问题是,我如何设置它,所以当我触摸精灵时它会执行我追求的摇摆动作?每次点击屏幕时都不会弹出新的精灵。

1 个答案:

答案 0 :(得分:4)

您可以检查UITouch所在的精灵(通过检查触摸点是否在每个精灵的矩形中)并根据您的要求在ccTouchesBeganccTouchesEnded中启动动画。您可以查看cocos2d附带的“TouchesTest”示例。

您可以像这样实现动画:

CCAction *action = [CCSequence actions:
                    [CCRotateBy actionWithDuration:0.25 angle:-45],
                    [CCRotateBy actionWithDuration:0.5 angle:90],
                    [CCRotateBy actionWithDuration:0.25 angle:-45],
                    nil];
[theSprite runAction:action];