好的,我有一些物理对象,它们都被很好地分类,并且我的 didBeginContact 被正确触发,并且做了它应该做的事情。问题是这样的:
我有两类物体,比如球和桨……当球碰到桨时,球应该爆炸……很简单……问题在于球可以同时接触 2 个桨……所以,不止一个 didBeginContact 被调用,因此发生了不止 1 次爆炸(每个球接触的桨 1 次)。所以我想弄清楚的问题是,如何删除/忽略所有后续与桨的接触如果代码已经处理了涉及原始球的碰撞,则不会被处理?在开始爆炸之前从父级移除 SKSpriteNode 不会使其他联系人无效,它们仍然会被处理......所以我该怎么说......嘿,物理联系人的东西......那个身体不再在图片中......所以只是把那些联系人扔掉,不要担心他们?
我想我可以在进行爆炸等之前明确检查父级在联系代码中是否仍然有可用的 SKSpriteNode ,但这似乎充其量是笨拙的,尽管我认为它会起作用......还有另一种/更好的方法来处理这个吗?我必须相信有。