0

我正在尝试在 iOS 上使用带有 UIKit 组件的 Chipmunk(不是 Obj-C 版本),但仍然在苦苦挣扎。

我试图确定,在文档中的 ChipmunkColorMatch 示例中,UIButton 实例实际上是如何连接到任何物理计算的。我看到 UIButtons 是在 Ball 类中创建的,并且设置了它们的一些属性(类型、图像等),但我不明白 cpBody 或 cpShape 或它实际附加到该 UIButton 的位置. 我认为它需要,否则任何物理都不会反映在 UI 中。

我也查看了网站上的 SimpleObjectiveChipmunk 教程,但由于它使用了我无法使用的库(Obj-C 库),我也无法确定它是如何工作的。同样,我看到一个 UIButton 被创建并定位在屏幕上,但我看不到 cpBody(或者在这种情况下,ChipmunkBody)是如何以任何方式链接到按钮的。

任何人都可以阐明这是如何工作的吗?实际上,我需要的是一些可以轻弹的 UIButton 实例,但我什至还没有弄清楚如何创建力,因为我无法将身体连接到按钮上。

非常感谢,提前感谢。

编辑:还应该指出我不是,也不想在这个项目中使用 cocos2d。我看过使用它的教程,但这是要添加的第三层混乱。谢谢!

4

1 回答 1

1

假设这个源是您要询问的项目,看起来魔法发生在Ball'sync方法中——它创建一个CGAffineTransform表示由物理引擎确定的平移和旋转,并将其应用于按钮。

反过来,该方法由视图控制器的draw:方法调用,该方法使用 定时在每一帧上发生,并在告诉每个帧之前CADisplayLink更新物理引擎。Ballsync

于 2013-01-07T18:22:30.003 回答