簡體   English   中英

didBegin 沒有檢測到兩個 SKSpriteNodes 之間的接觸

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM