gpt4 book ai didi

ios - SpriteKit : detect complete node overlap

转载 作者:可可西里 更新时间:2023-11-01 06:20:42 26 4
gpt4 key购买 nike

我有两个 SKShapeNodes——一个具有基于边缘的 SKPhysicsBody,一个基于体积——我想检测它们的交点而不发生碰撞。我的这个工作正常,SKPhysicsContactDelegate 接触方法在一个传递到另一个接触方法时被调用,但我的问题是 didEndContactedges 不再相交时被调用,即使一个 body 完全包含在另一个 body 中。确定真正接触或重叠的最佳方法是什么,而不仅仅是边缘相交?我试过 usesPreciseCollisionDetection,但没有用。

最佳答案

CGPoint locObj1 = [sprite1 locationInNode:self];
CGPoint locObj2 = [sprite2 locationInNode:self];

if([sprite1 containsPoint: locObj2]) return;
if([sprite2 containsPoint: locObj1]) return;

将其添加到 didBeginContact 和 didEndContact 的开头。这将检查其中一个节点是否包含另一个节点。如果是这样,它不会做任何事情来缓解你的 didBeginContact 和 didEndContact 被不必要地调用的问题。我不在我的 Mac 上,所以你可能需要稍微玩一下语法。希望这会让你朝着正确的方向前进。

关于ios - SpriteKit : detect complete node overlap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com