从碰撞的对象获取数据

时间:2011-08-08 04:03:01

标签: object cocos2d-iphone sharing collision

我目前正在使用Cocos2d设计游戏。还没有代码,因为我还在开发我的想法。但是,我遇到了一个我无法回答的问题,想知道我是否只是遗漏了什么或什么?这就是我目前的想法:

我正在从屏幕顶部“丢弃”多个块,然后它们随机向下移动到屏幕上。它们最终会落在屏幕的底部,并在另一个的顶部叠加一个。最终,在跌落时,一些街区将与其他街区发生碰撞。当两个块碰撞时,我想测试以查看每个块的某些特性是否相等(例如尺寸,颜色,方向等)。每个块都是它自己的对象,将处理它自己的移动和碰撞检测,并且将具有大小,颜色,方向等的访问方法。

这是我的问题:

我是否认为每个块本身都是一个单独的单元并且对其他块一无所知?例如,块A与块B冲突,只知道它与某些东西相撞,但不知道它是另一块?如果是这样,那么我该如何进行适当的比较呢?如何判断哪个块与哪个块发生冲突并访问每个块的数据以及在何处进行比较?在图层?

我很想在这里指出一个体面的方向。我不确定我想要做的事情是否可行?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用通常随cocos2d一起提供的物理引擎 - chipmunkbox2d。物理引擎将为您处理冲突,如果您实现了碰撞回调,那么您可以知道两个对象何时相互碰撞。然后,您可以检查每个对象的特征并做出相应的反应。关于Chipmunk的This tutorial和cocos2d集成可能会有所帮助。