2016-03-23 7 views
-2

Я совершенно не знаком с Swift (начал работать над этим вчера), поэтому я не знаю с чего начать.Оценка по времени

В основном я делаю игру, где счет должен увеличиваться каждые 0,25 секунды (после начала игры - touchesBegan). Я что-то думал с waitForDuration(0.25), но я не знал, что делать.

И я также должен поместить его в верхний центр экрана (пейзаж). Я пробовал использовать .position, но это не сработало.

ответ

0

Я сделал это !! Я имею в виду, я нашел некоторые код, видео и тексты, которые помогли сделать это =)

//Score 
scoreLabel.position = CGPoint(x: self.frame.width/2, y: self.frame.height/2) 
self.addChild(scoreLabel) 

//Score incrementing by time 
let delay = SKAction.waitForDuration(0.25) 
let incrementScore = SKAction.runBlock ({ 
    self.score = self.score + 1 
    self.scoreLabel.text = "\(self.score)" 
}) 
self.runAction(SKAction.repeatActionForever(SKAction.sequence([delay,incrementScore]))) 

Я не использовал NSTimer, потому что я читал, что это не может быть приостановлено/возобновлено (что мне нужно будет делать позже).

Спасибо =)

0

Добро пожаловать в ТАК. Ваш вопрос действительно расплывчатый и очень широкий. Не подходит для этого сайта.

Поскольку вы новичок, я дам вам подсказку, чтобы вы начали. Пойдите, сделайте некоторое чтение и попытайтесь заставить это работать самостоятельно, прежде чем просить дополнительную помощь.

Создание повторяющегося NSTimer с помощью scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:

сделать метод, вызовы таймера приращение переменной экземпляра оценка и обновить метку

+0

Не используйте NSTimer в Sprite-Kit - сцена не будет знать о таймере, и он может натворить (эк Если вы приостановите SKScene, таймер не будет паузы слишком). Используйте SKActions или делайте что-нибудь в Update(), анализируя время, прошедшее с момента последнего вызова Update(). –

+0

Достаточно честный. Я не использовал SpriteKit. –

Смежные вопросы