didBeginContact未被称为swift3 Xcode8
我对didBeginContact的方法有问题。我有一个球和一堵墙。 两个对象的碰撞效果良好。如果两个对象发生碰撞,它们会更改位置,但不会调用didBeginContact方法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() {
// 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)