man*_*an1 3 ios sprite-kit skphysicsbody sknode
我有两个SKShapeNodes - 一个带有基于边缘的SKPhysicsBody,一个基于音量 - 我想要检测它们的交叉点而不会发生碰撞.我有这个工作正常,SKPhysicsContactDelegate接触方法被调用,因为一个经过另一个,但我的问题是didEndContact当边不再相交时被调用,即使一个主体完全包含在另一个主体内.确定真实接触或重叠的最佳方法是什么,而不仅仅是边缘交叉?我试过了usesPreciseCollisionDetection,但没有用.
CGPoint locObj1 = [sprite1 locationInNode:self];
CGPoint locObj2 = [sprite2 locationInNode:self];
if([sprite1 containsPoint: locObj2]) return;
if([sprite2 containsPoint: locObj1]) return;
Run Code Online (Sandbox Code Playgroud)
将其添加到didBeginContact和didEndContact的开头.这将检查其中一个节点是否包含另一个节点.如果确实如此,那么它什么都不会减轻你的问题,因为你可以减少你的doBeginContact和didEndContact的问题.我不在我的Mac上,所以你可能需要稍微使用语法.希望这能让你朝着正确的方向前进.
| 归档时间: |
|
| 查看次数: |
3542 次 |
| 最近记录: |