如何在cocos2d中对多个精灵进行像素完美碰撞?
在我的应用程序中,我有一个玩家和许多敌人(大约 100 多个)..我不想使用 CGRect,因为它不适合敌人。有没有例子如何在 cocos2d 中对许多精灵进行像素完美的碰撞检测?
一些解释会很棒;)
非常感谢!
编辑:我正在使用 CCSprite 和 .png 文件。 png 具有透明度,但它应该只检测非透明像素上的碰撞。
编辑:我的敌人是圆的。
in my app I have a player and many enemies (about 100+)..I don't want to use CGRects because it doesn't fits to the enemies. Is there any example how to do pixel perfect collision detection in cocos2d with many sprites?
Some explaination would be great ;)
Thank you very much!
EDIT: I'm using CCSprite and .png files. the png has transparency but it should only detect a collision on non-transparency pixels.
Edit: My enemies are round.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
圆与圆的碰撞是最简单的..计算是最快的..我希望你知道玩家的半径和敌人的半径..设20是玩家的半径,10是敌人的半径..一个简单的计算是:
我们正在使用毕达哥拉斯定理计算两点之间的距离。
http://en.wikipedia.org/wiki/Pythagorean_theorem
Circle-circle collision is the easiest.. And computing is the fastest.. I hope you know the radius of the player and radius of enemy.. Let 20 be radius of player and 10 be radius of enemy.. A simple calculation would be:
We are calculating distance between 2 points using the Pythagorean Theorem..
http://en.wikipedia.org/wiki/Pythagorean_theorem