Ios D开始未检测到两个电极之间的接触
在didMove函数中,我说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 然后,我定义另一个节点的物理体,该节点
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功能