[英]didBegin not detecting contact between two SKSpriteNodes
在我的 didMove 函數中,我說physicsWorld.contactDelegate = self
並且在我從SKPhysicsContactDelegate
繼承的類的頂部。 我添加了一個 SKSpriteNode,其物理體初始化如下:
alien.physicsBody = SKPhysicsBody(rectangleOf: alienSize)
alien.physicsBody!.affectedByGravity = false
然后我定義另一個節點的物理體,以同樣的方式與外星人接觸。 當它們接觸時,這兩個元素確實相互碰撞,但由於某種原因didBegin(_ contact: SKPhysicsContact)
沒有被調用,這意味着即使我說:
func didBegin(_ contact: SKPhysicsContact) {
print("\n\nContact!\n\n")
}
當兩個元素接觸時,什么也不會打印出來。 我需要查看什么來嘗試修復它的任何想法?
我還沒有代表發表評論,所以我必須把我的想法放在答案中。 您是否嘗試過在實際設備上運行您的代碼? 模擬器存在無法從某些圖像正確創建物理體的問題。 一種解決方法是針對 iOS 版本 12.x 進行編譯並在具有該版本 iOS 的模擬器中運行。 但是您將無法利用 13 及更高版本的 iOS 功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.