我是cocos2d的初学者
我想在cocos2d中制作简单的游戏。
我使用CCsprite作为图像文件,但我想放一些随机的形状,如钻石....这不是图像...我做这个形状,但当我使用碰撞检测与其他CCsprite然后出现问题....然后我做了钻石的对象..
我怎么能与钻石对象碰撞....或者我如何在CCSprite中使用这个对象....
请给我正确答案......
提前致谢...
答案 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 */
}