首先,我刚刚开始进行游戏编程,所以请放心吧。我已经决定使用cocos2d-x3使用c++,这样我就可以用一个代码库为多个平台构建它。我已经建立了一个小游戏,在哪里碰撞工作,但我不认为我做得对,大多数教程是为旧版本,并没有完全解释碰撞部分,我的理解。我有两个问题:
1.)物体是按长方形打的,但我需要它们打成一个圆圈。
2.)探测碰撞。
以下是代码:
CCRect ballRect = ball->getBoundingBox();
CCRect enemyRect = enemy->getBoundingBox();
if(ballRect.intersectsRect(enemyRect)){
//collision
}
如果有人能帮帮我,那就太好了。我愿意接受一些工具的使用,或者我可以遵循的教程来解释这一切是如何工作的。另外,我发现的另一件奇怪的事情是,我不得不从这里提取物理编辑器的代码,https://github.com/CodeAndWeb/PhysicsEditor-Cocos2d-x-Box2d,以便从物理编辑器导出的plist加载Box2D中的“固定装置”。我不知道这是否正确,我认为Box2D可以加载它本身(我在这里也可能错了,因为我只是不知道)。在这件事上任何帮助都是非常感谢的。只是想让这个设置正确,其他的一切都是轻而易举的。只是似乎不知道如何正确定义碰撞矩形和正确的方法来检测碰撞。
发布于 2014-06-21 18:54:39
尽管看看这些,它们可能会有所帮助。
http://www.raywenderlich.com/606/box2d-tutorial-for-ios-how-to-use-box2d-for-just-collision-detection-with-cocos2d-iphone
如果你只需要一个圆圈,像一个完美的圆圈?您可以使用box2d进行碰撞,并将您的身体定义为b2Circle。这会给你一个完美的回击。
您可以查看每个cocos2d-x下载的test项目,以获得最新的语法和基本教程。他们也有box2d测试。
https://stackoverflow.com/questions/24338705
复制相似问题