微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Sprite 套件中未检测到接触

如何解决在 Sprite 套件中未检测到接触

class GameScene: SKScene,SKPhysicsContactDelegate {
    func didBegin(_ contact: SKPhysicsContact) {
        let contactA:SKPhysicsBody = contact.bodyA
        let contactB:SKPhysicsBody = contact.bodyB
        if contactA.contactTestBitMask == 1 && contactB.contactTestBitMask == 2 {
            jumpButtonIsReady = true
            print("player landed on ground1")
        }
 if contactA.contactTestBitMask == 2 && contactB.contactTestBitMask == 1 {
        jumpButtonIsReady = true
       
        print("player landed on ground1")
    
    }    }   
}

我使用场景编辑器将玩家的 contactTestBitMask 设置为 1,将地面设置为 2。它们都设置为动态为 true。但是联系人没有注册。感谢您的帮助。

解决方法

您可能在场景初始化中遗漏了 physicsWorld.contactDelegate = self。仅符合 SKPhysicsContactDelegate 是不够的。

如果您确认没问题,则通过将视图的 showsPhysics 设置为 true 来检查物理实体是否正确。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。