2016-10-15 8 views
2

私はdidBeginContactメソッドで問題があります。私にはボールと壁があります。 両方のオブジェクトの衝突はうまくいきます。両方のオブジェクトが衝突すると、オブジェクトの位置は変わりますが、メソッドdidBeginContactは呼び出されません。didBeginContactはswift3と呼ばれていませんXcode8

// 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") 
} 
} 

他にもありますか?手伝ってくれてありがとう!

答えて

3

私は

FUNCのdidBeginContact(連絡先:SKPhysicsContact)を変更することでこれを解決し

にFUNCのdidBegin(_接触:SKPhysicsContact)

+0

をこれは同様に私のためにそれを解決しました。ありがとう! – DaveUT

関連する問題