2017-01-12 6 views
0

제 게임에서 타이머가 0에 도달하기 전에 플레이어가 목표에 도달하지 못했을 때 화면에 을 탭할 때 시작되는 30 초 타이머를 구현해야합니다.SpriteKit 게임에 타이머를 구현해야합니까?

화면을 터치 한 후 타이머 카운트를 0으로 만드는 방법을 알아 내지 못합니다. 단지 30 초 정도입니다. 나는 NStimer를 구현하려했지만, 내가 원하지 않는 화면을 만지기 전에 NStimer가 카운트 다운하는 것을 원하지 않는 PAUSE 기능을 추가해야한다는 것을 알고있었습니다.

이 내 코드는 지금까지 있습니다 :

//Timer that updates Label: 

myLabel.run(SKAction.repeatForever(SKAction.sequence([SKAction.run { 
      TimerNode -= 1 
      TimerLabel.text = "\(TimerNode)" 

      if TimerNode <= 0 { 

       //Game Over code 
      } 
      },SKAction.wait(forDuration: 1)]))) 

올드 :

var TimerNode: Int = 30 
    var TimerLabel = SKLabelNode(fontNamed: "STHeitJ-Medium") 

    TimerLabel.text = "\(TimerNode)" 
    TimerLabel.fontSize = 40 
    TimerLabel.position.x = size.width/2 
    TimerLabel.position.y = size.height/8.5 
    TimerLabel.zPosition = 3.00 
    TimerLabel.fontColor = UIColor.whiteColor() 
    addChild(TimerLabel) 
+0

를, 무엇을 문제는 무엇입니까? 참조하십시오 : http://stackoverflow.com/help/how-to-ask –

+0

화면을 터치 한 후 타이머 카운트를 0으로 만드는 방법을 알아 내지 못합니다. 단지 30 초 정도입니다. 나는 NStimer를 구현하려했지만, 내가 원하지 않는 화면을 만지기 전에 NStimer가 카운트 다운하는 것을 원하지 않는 PAUSE 기능을 추가해야한다는 것을 알고있다. help @AnkurAggarwal –

+0

Moved OPs는 질문에 질문을 던지기 위해 의견을 말합니다. –

답변

0
self.addChild(myLabel) 

당신은이 같은 타이머를 구현할 수 있습니다 그래서

//Run when clicked: 
var wait = SKAction.waitForDuration(30) 
var run = SKAction.runBlock { 
    //Game Over 
} 
self.runAction(SKAction.sequence([wait, run])) 
+0

touchesBegan 메소드에서이 코드를 입력하겠습니까 ?? 또는 자신의 함수 아래에 코드를 입력? –

+0

이 방법이 장면에 나타 납니까? @Entitize –

+0

터치로 시작 방법을 넣어. – Entitize

관련 문제