如何通过触摸该图像来旋转箭头图像?

时间:2009-03-23 09:29:14

标签: iphone cocos2d-iphone

我正在开展一个项目,我需要通过触摸来旋转图像。

根据用户的触摸方式,可以更快或更慢地旋转。

你能告诉我一些教程或如何做到这一点吗?

3 个答案:

答案 0 :(得分:1)

将您的图像放在UIImageView中,然后将该视图子类化并替换touchesBegan:withEvent:或为其设置委托并实现与委托方法相同的方法。这将使您能够响应触摸事件(触摸的开始,在这种情况下,尽管您可以执行相同的操作来结束触摸或移动手指)。

在这种触摸处理方法中,您可以实现类似于我所描述的here的内容,以便以给定的速度执行启用Core-Animation的UIImageView旋转。要更改速度,请更改我提供的动画的持续时间属性。正如我在那里建议的那样,您可能需要查看CAKeyframeAnimation以在开头和结尾处进行加速和减速的更平滑动画。

答案 1 :(得分:0)

更简单的方法是设置NStimer并在每次触发时旋转变换。

我在这里有一些示例代码巧合地做了类似的事情:

http://github.com/kailoa/touchsamplecode/tree/master

答案 2 :(得分:0)

使用Cocos2d,你不能拥有'touch enabled'精灵,'isTouchEnabled'处于Layer级别。您必须在图层级别接收触摸,然后检查触摸位置与可触摸精灵的位置。 CGRect *函数包括一个'rect contains point',您可以将触摸位置传递给sprite的rect,看看它是否被“触摸”,然后你可以说[sprite runAction:[Rotate .... ]