2

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

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

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

4

3 回答 3

1

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

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

于 2009-03-23T13:14:54.770 回答
0

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

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

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

于 2009-03-24T22:09:39.873 回答
0

使用 Cocos2d,你不能有“启用触摸”的精灵,“isTouchEnabled”是在图层级别。您必须在层级接收触摸,然后检查触摸的位置与可触摸精灵的位置。CGRect* 函数包括一个“矩形包含点”,您可以将触摸位置传递给它,使用精灵的矩形来查看它是否被“触摸”,然后您可以说 [sprite runAction:[Rotate .... ]]

于 2009-04-11T00:22:38.260 回答