0
columnTime 동안 대기 동작을 실행 한 다음 코드 블록을 실행하는 코드가 있습니다. 실행, 4.95 초에 열 시간을 감소 5 초 동안 기다린 실행 블록 코드 : 이것은, 다음 등 다음 시간을 기다린 후 차단, 나는 다음 원하는무기한 감소 간격으로 대기 동작을 수행하는 함수
func startSpawning(){
print(columnTime)
let wait = SKAction.waitForDuration(columnTime)
let block = SKAction.runBlock({[unowned self] in self.spawnObstacle()})
let sequence = SKAction.sequence([wait, block])
runAction(SKAction.repeatActionForever(sequence), withKey: "spawning")
} //startSpawning
을 대기 시간을 한 번 실행 블록 결과 4.95 초를 기다리고, 4.90 초로 대기 시간을 줄이는 블록 코드를 실행하고 4.90 초를 실행합니다.
다음을 시도했지만 반복적으로 각 동작을 반복 실행하므로 대기가 없습니다. 출력이 대기 및 블록 코드 블록의 print 문으로 가득차 있습니다.
func startSpawning(){
let wait = SKAction.runBlock({[unowned self] in self.waitFunc()})
let block = SKAction.runBlock({[unowned self] in self.spawnObstacle()})
let sequence = SKAction.sequence([wait, block])
runAction(SKAction.repeatActionForever(sequence), withKey: "spawning")
} //startSpawning
func waitFunc() -> SKAction{
print("running wait func")
return SKAction.waitForDuration(getColumnTime())
}
func getColumnTime() -> NSTimeInterval {
return columnTime
}
동작을 한 번만 실행하지 않습니까? – lelephant
아니요 시퀀스 끝에서 startSpawning()을 호출하여 새로운 시퀀스 – Knight0fDragon
을 놀라운 시간에 시작할 수 있습니다! 그게 전부지만 내가 코멘트를 숯불 길이가 너무이 문장을 썼습니다 – lelephant