2017-04-02 7 views
-1

오디오 파일 재생을 처리하기 위해 사용자 지정 클래스 인 SoundNode를 만들었습니다. 지금, 그것은 단지 기본 "A2.mp3"SpriteKit이 오디오 파일을 재생하지 않습니까?

class SoundNode : SKSpriteNode{ 
func playSound(){ 
    run(SKAction.playSoundFileNamed("A2", waitForCompletion: false)) 
    } 
} 

나는 다음과 같이 내 SKScene에 꺼내, 메소드를 호출한다 :

SoundNode().playSound() 

을하지만, 소리가 재생되지 않습니다? 필자는 프로젝트에 파일이 있는지 확인하고 파일 이름이 올바른지 두 번 확인했습니다. 여기에 어떤 문제가 있습니까?

답변

2

SoundNode은 일종의 노드입니다. 모든 노드는 장면에있을 때만 작동합니다. SoundNode을 만들고 playSound을 호출하는 것은 노드가 장면에 추가되지 않았기 때문에 아무 것도하지 않습니다!

는 장면에 추가,이 일을하려면

let node = SoundNode() 
self.addChild(node) 
node.playSound() 

또한, 나는 그것이 화면에 볼 수있는 스프라이트 즉 무언가가 분명하지 않기 때문에 SoundNodeSKSpriteNode을 상속하지 말아야하는 것이 좋습니다. 그냥 상속을 SKNode 상속합니다.

+0

완벽하게 작동했습니다! –