Cocos2d中的CCSprite

时间:2011-04-08 11:07:45

标签: ios4 cocos2d-iphone

我是cocos2d的初学者

我想在cocos2d中制作简单的游戏。

我使用CCsprite作为图像文件,但我想放一些随机的形状,如钻石....这不是图像...我做这个形状,但当我使用碰撞检测与其他CCsprite然后出现问题....然后我做了钻石的对象..

我怎么能与钻石对象碰撞....或者我如何在CCSprite中使用这个对象....

请给我正确答案......

提前致谢...

2 个答案:

答案 0 :(得分:1)

只需使用以下方法:
bool CGRectContainsRect ( CGRect rect1, CGRect rect2 );
要了解更多信息,请关注https://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html

答案 1 :(得分:0)

Cocos2d中的简单碰撞检测是重叠矩形检测或点对角矩形检测。要检测复杂形状的碰撞,你需要使用物理引擎(Box2D或Chipmunk),但这肯定会让你的游戏变得不再简单:)。

或许您可以使用双程碰撞检测。首先,您检测形状的边界矩形是否重叠,如果它们是,那么您使用一些数学公式或其他东西来检查钻石形状碰撞。一些骨架代码:

if (CGRectContainsRect([sprite1 boundingBox], [sprite2 boundingBox])) {
   /* the rectangles overlap so now use some trigonometric formula, 
      euler formula, harmonic series or fourier transform or something, 
      to further check if the actual shapes overlap or not :P */

}