수색…


비고

SKAction 을 사용하여 타이머 기능을 수행 SKAction 시기는 언제입니까? 거의 언제나. 그 이유는 Sprite Kit 가 업데이트 간격으로 작동하고이 간격의 speed 속성을 사용하는 프로세스의 수명 기간 동안 변경 될 수 있기 때문입니다. 장면을 일시 중지 할 수도 있습니다. 장면 내에서 SKAction 작동하기 때문에 이러한 속성을 변경하면 시간 기능을 변경할 필요가 없습니다. 장면이 0.5 초 동안 진행 중이며 장면을 일시 중지하면 타이머를 중지하고 0.5 초의 차이를 유지할 필요가 없습니다. 일시 중지하면 남은 시간이 계속 유지되도록 자동으로 주어집니다.

언제 타이머 기능을 수행하기 위해 NSTimer 를 사용해야합니까? SKScene 환경 밖에서 시간을 측정해야 할 필요가있을 때마다 장면이 일시 정지 된 경우에도 해고되어야하거나 장면 속도가 변경되는 경우에도 일정한 속도로 실행해야합니다.

이것은 UIKit 컨트롤과 SpriteKit 컨트롤을 모두 사용하여 작업 할 때 가장 SpriteKit 합니다. UIKitSpriteKit 어떤 일이 일어나는지 전혀 알지 못하기 때문에 NSTimerSKScene 의 상태에 관계없이 SKScene 됩니다. 예를 들어 매 초마다 업데이트를 수신하는 UILabel 이 있으며 SKScene 내부의 데이터가 필요합니다.

1 초 후에 발생하는 메소드 구현하기

SKAction :

let waitForOneSecond = SKAction.waitForDuration(1) let action = SKAction.runBlock(){action()} let sequence = SKAction.sequence([waitForOneSecond,action]) self.runAction(sequence)

NSTimer :

NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: #selector(action), userInfo: nil, repeats: false)



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow