在我的应用程序中,我有一堆CCSprites,我想要有一个碰撞检测功能,只有当CCSprites中的非透明像素发生冲突时才会起作用。我不想被限制在相互碰撞的精灵之间的颜色。我认为这是‘像素完美碰撞检测’线程在Cocos2D论坛所做的,但我想使用任何颜色的真实碰撞。这个碰撞检测将在我的游戏循环中,所以它不会太昂贵。不管怎么说,有没有人知道我该怎么做?我愿意使用Cocos2D,Box2D或花栗鼠,甚至UIKit,如果它能做到这一点。
谢谢!
发布于 2011-10-03 01:39:45
当谈到硬件渲染的图形时,“我想要完美的像素碰撞”和“我不想让它们太昂贵”是完全互斥的。
或者编写一个更简单的渲染器,它不允许这种复杂的变换,反走样或子像素放置,或者使用实际的GPU来渲染某种类型的碰撞遮罩。在GPU上做这件事的问题是,它发送东西到GPU的速度很快,而且取回它的成本很高。这是一个原因,为什么这种技术是相当不常见的。
花栗鼠Pro的自动几何图形支持将各种不同的图像转换为碰撞形状,但还不完整。
发布于 2011-10-24 22:38:27
如果你不想失去性能,这是不可能的。试着做一个基于圆圈的系统碰撞,这是最好的碰撞方式。
https://stackoverflow.com/questions/7623321
复制相似问题