将Chipmunk机构连接到UIKit组件?

时间:2013-01-07 17:37:45

标签: objective-c xcode uibutton chipmunk physics-engine

我正试图在iOS上使用带有UIKit组件的Chipmunk(不是Obj-C版本),并且仍在极度挣扎。

我正在尝试确定如何在文档中的ChipmunkColorMatch示例中将UIButton实例实际连接到任何物理计算。我看到UIButtons是在Ball类中创建的,它们的一些属性是设置的,(类型,图像等),但是我不知道cpBody或cpShape或其中的任何一个实际附加到该UIButton的位置。我认为它需要,否则没有任何物理将反映在UI中。

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

有人能说明这是如何运作的吗?实际上我需要的是一些UIButton实例,它们可以被轻弹,但我还没有达到如何创建力量,因为我无法将这些实体连接到按钮上。

非常感谢,提前谢谢。

编辑:还应该指出我不是,并且根本不想在这个项目中使用cocos2d。我已经看过使用它的教程,但这是第三层混淆加入。谢谢!

1 个答案:

答案 0 :(得分:1)

假设this source是您所询问的项目,看起来Ball的{​​{1}}方法中出现了神奇现象 - 它会创建一个sync代表由物理引擎确定的平移和旋转,并将其应用于按钮。

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