У меня есть простая игра, в которой мяч прыгает через препятствия. Когда он приходит в контакт с препятствием (либо при прыжке, либо когда он сталкивается перед прыжком), я хочу воспроизвести звук перед тем, как перейти к экрану главного меню (GameScene.Swift). Там определенно будет обнаружение didBeginContact, но не обязательно didEndContact По какой-то причине звуковой файл не воспроизводится. Что я делаю не так?Звук, не играющий на контакте
PlayScene.Swift файл
class PlayScene: SKScene, SKPhysicsContactDelegate{
//......
let losingSoundAction = SKAction.playSoundFileNamed("losing.wav", waitForCompletion: true)
//....
func didBeginContact(contact: SKPhysicsContact) {
//play the losing sound
self.runAction(losingSoundAction)
contact.bodyA.categoryBitMask = ColliderType.Hero.rawValue
died()
}
func died(){
//change back to main screen
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
let skView = self.view as SKView!
scene.scaleMode = .AspectFill
scene.GameSceneInstance = self
scene.score = score
skView.presentScene(scene)
}
}
}
. СделалBeginContact выполнить? Если нет, задали ли вы класс как делегат физики? – LearnCocos2D
yes doneBeginCOntact выполняется потому, что сцена меняется на главную GameScene – newbiedev