Ios D开始未检测到两个电极之间的接触

Ios D开始未检测到两个电极之间的接触,ios,swift,sprite-kit,skphysicsbody,Ios,Swift,Sprite Kit,Skphysicsbody,在didMove函数中,我说physicsWorld.contactDelegate=self,在类的顶部,我从skphysiccontactdelegate继承。我添加了一个物理体初始化如下的SKSpriteNode: alien.physicsBody = SKPhysicsBody(rectangleOf: alienSize) alien.physicsBody!.affectedByGravity = false 然后,我定义另一个节点的物理体,该节点

在didMove函数中,我说
physicsWorld.contactDelegate=self
,在类的顶部,我从
skphysiccontactdelegate
继承。我添加了一个物理体初始化如下的SKSpriteNode:

        alien.physicsBody = SKPhysicsBody(rectangleOf: alienSize)
        alien.physicsBody!.affectedByGravity = false
然后,我定义另一个节点的物理体,该节点以相同的方式与外星人接触。当它们接触时,两个元素确实会相互碰撞,但由于某种原因,
didbeagin(ucontact:skphysiccontact)
未被调用,这意味着即使我说:

    func didBegin(_ contact: SKPhysicsContact) {
        print("\n\nContact!\n\n")
    }

当两个元素接触时,不会打印任何内容。有什么想法我需要看看,以尝试和修复它吗?

我还没有代表发表评论,所以我必须把我的想法放在一个答案中。您是否尝试在实际设备上运行代码?模拟器无法从某些图像中正确创建物理实体存在问题。一个解决方法是编译iOS版本12.x,并在具有该版本iOS的模拟器集中运行。但你将无法在13及以上版本中利用iOS功能