我正在使用加速度计制作游戏,基本上我的角色位于屏幕的底部,他需要避免物体从屏幕顶部掉落。我正在使用CGRectIntersectsRect
查看我的角色精灵是否与我的敌人精灵相交,但问题是CGRectIntersectsRect
检测到我的角色精灵的透明部分。
有没有办法让它忽略精灵的透明度?
答案 0 :(得分:0)
一种方法是使用Box2d。即使您不想进行物理模拟,也可以设置体形以用于碰撞检测。
或者,如果您不想使用C ++,那么Chipmunk也有具有碰撞检测的形状。这篇文章概述了一些细节:Chipmunk collision detection
答案 1 :(得分:0)
如果您不想使用物理模拟器,您可以将您的精灵视为多个矩形,因此您可以测试所有部分的命中,而不是整个边界框。如果精灵形状很简单,这可能会更容易,并给你一个好的结果。
答案 2 :(得分:0)
除了具有手动设计形状的物理引擎(建议获得最佳性能),如果需要非常准确的碰撞检测,还可以使用pixel-perfect collision detection。