如何在cocos2d中测试精灵碰撞?
我如何开始实现精灵碰撞类?
How do I start to implement a class for sprite collision?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我如何开始实现精灵碰撞类?
How do I start to implement a class for sprite collision?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
正如 Eric 指出的,CGRectIntersectsRect 是测试两个边界矩形是否重叠的方法。使用 CCNode 类的boundingBox 方法获取每个精灵(或其他节点)的正确边界框。
在这里查看我的回答:
Cocos2d 游戏中的碰撞检测?
As Eric pointed out, CGRectIntersectsRect is the method to test two bounding rects for overlapping. Use the boundingBox method of the CCNode classes to get the correct bounding box for each sprite (or other node).
See my answer here:
Collision Detection in Cocos2d game?
我会研究
b2ContactListener
您可以对此进行一些搜索,您将轻松获得一些结果
I would look into
b2ContactListener
You can do some searches on that, and you'll easily get some results
您还可以通过检查两个矩形是否相交来执行非常简单的碰撞检测。您可以使用 CGRectIntersectsRect 函数来执行此操作。基本上,两个矩形都基于您要检查碰撞的精灵的位置和尺寸。如果 CGRectIntersectsRect 返回 true,则表明发生了碰撞。
更多信息在这里:[http://icodeblog.com/2009/02/18/iphone-game-programming-tutorial-part-2-user-interaction-simple-ai-game-logic/][ 1]
You can also perform very simple collision detecting by checking if two rectangles intersect. You can use the CGRectIntersectsRect function to do this. Basically, both rects are based on the position and dimensions of sprites you want to check for collisions. If CGRectIntersectsRect returns true, you know a collision occurred.
More info here: [http://icodeblog.com/2009/02/18/iphone-game-programming-tutorial-part-2-user-interaction-simple-ai-game-logic/][1]
您想要使用 chipmunk 的物理引擎,它是 cocos2d 引擎的一部分。
示例 (iPhone)
You want to use the chipmunk's physics engine, which is part of the cocos2d engine.
Example (iPhone)