2011-04-08 80 views
0

我是cocos2d中的begginerCocos2d中的CCSprite

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

我用CCsprite图像文件,但我希望把一些随机的形状像钻石....这是不是像......我做出这个形状,但是当我使用的碰撞检测与其他CCsprite那么问题出现... 。然后我让钻石的对象..

我如何能碰撞与金刚石物体....或者我如何使用CCSprite这个对象....

请给我正确的答案...

在此先感谢...

回答

1

只要使用这个表达式翼方法:
bool CGRectContainsRect ( CGRect rect1, CGRect rect2 );
为了更多地了解,遵循https://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html

+0

嘿感谢,但用这种方法我也不能识别图像的一部分,因为实际上图像在菱形长方形是他们的...如果u认为这种方法可行的...... – AJPatel 2011-04-08 11:58:29

+0

嘿ü工作与cocos2d所以帮我在这里如何设置我的绘图对象在CCSprite如果我把它设置在精灵比我轻松添加你的方法和检测碰撞。 – AJPatel 2011-04-08 12:08:21

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 */ 

}