didBeginContact未被称为swift3 Xcode8

didBeginContact未被称为swift3 Xcode8,swift3,xcode8,Swift3,Xcode8,我对didBeginContact的方法有问题。我有一个球和一堵墙。 两个对象的碰撞效果良好。如果两个对象发生碰撞,它们会更改位置,但不会调用didBeginContact方法 // constants.swift ... let ballCategory: UInt32 = 0x1 << 0 let wallCategory: UInt32 = 0x1 << 1 ... // Physics balls (ball.swift) ... init() {

我对didBeginContact的方法有问题。我有一个球和一堵墙。 两个对象的碰撞效果良好。如果两个对象发生碰撞,它们会更改位置,但不会调用didBeginContact方法

// constants.swift
...

let ballCategory: UInt32 = 0x1 << 0 
let wallCategory: UInt32 = 0x1 << 1

...

// Physics balls (ball.swift)
...

init() {
  let size = CGSize(width: 32, height: 44)
  loadPhysicsBodyWithSize(size: size)
}

func loadPhysicsBodyWithSize(size: CGSize){
 physicsBody = SKPhysicsBody(rectangleOf: size)
 physicsBody?.categoryBitMask = ballCategory
 physicsBody?.contactTestBitMask = wallCategory
 physicsBody?.affectedByGravity = false
}

...

// Physics wall (wall.swift)
...

init() {
  let size = CGSize(width: 32, height: 44)
  loadPhysicsBodyWithSize(size: size)
}

func loadPhysicsBodyWithSize(size: CGSize){
 physicsBody = SKPhysicsBody(rectangleOf: size)
 physicsBody?.categoryBitMask = wallCategory
 physicsBody?.affectedByGravity = false
}

...

// GameScene (gameScene.swift)
class GameScene: SKScene, SKPhysicsContactDelegate { 
...
 override func didMove(to view: SKView) {
   physicsWorld.contactDelegate = self
 }
 func didBeginContact(contact: SKPhysicsContact){
  print("didBeginContact called")
 }
}
//constants.swift
...

让ballCategory:UInt32=0x1我通过改变

func didBeginContact(联系人:SKPhysicsContact)

func didbegen(uu联系人:skphysiccontact)