如何解决在 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 举报,一经查实,本站将立刻删除。