我正在开展一个项目,我需要通过触摸来旋转图像。
根据用户的触摸方式,可以更快或更慢地旋转。
你能告诉我一些教程或如何做到这一点吗?
答案 0 :(得分:1)
将您的图像放在UIImageView中,然后将该视图子类化并替换touchesBegan:withEvent:或为其设置委托并实现与委托方法相同的方法。这将使您能够响应触摸事件(触摸的开始,在这种情况下,尽管您可以执行相同的操作来结束触摸或移动手指)。
在这种触摸处理方法中,您可以实现类似于我所描述的here的内容,以便以给定的速度执行启用Core-Animation的UIImageView旋转。要更改速度,请更改我提供的动画的持续时间属性。正如我在那里建议的那样,您可能需要查看CAKeyframeAnimation以在开头和结尾处进行加速和减速的更平滑动画。
答案 1 :(得分:0)
更简单的方法是设置NStimer并在每次触发时旋转变换。
我在这里有一些示例代码巧合地做了类似的事情:
答案 2 :(得分:0)
使用Cocos2d,你不能拥有'touch enabled'精灵,'isTouchEnabled'处于Layer级别。您必须在图层级别接收触摸,然后检查触摸位置与可触摸精灵的位置。 CGRect *函数包括一个'rect contains point',您可以将触摸位置传递给sprite的rect,看看它是否被“触摸”,然后你可以说[sprite runAction:[Rotate .... ]