Мне трудно получить игровой счет, чтобы увеличить время, а не игровые события. Счет - это SKlabelnode, который отображается при запуске игры. Я хочу, чтобы счет увеличить как время игра продолжается, а затем перезапустить обратно в 0, когда игра возобновляется (т.е. игрок умирает)оценка игры увеличивается по времени при нажатии кнопки пуска
Ярлык Счет по-прежнему 0, ив попробовал множество вариантов кода
//score
var score = Int()
var highScore = Int()
let scoreLable = SKLabelNode()
scoreLable.position = CGPoint(x: self.frame.width/1.1, y: self.frame.height/1.1)
scoreLable.zPosition = 5
scoreLable.fontSize = 100
scoreLable.fontName = "AppleSDGothicNeo-bold"
scoreLable.text = "\(score)"
func ScoreAndHighScore(){
score = score+1
}
var scoreTimer = Timer(timeInterval: 5.0, target: self, selector: #selector(ScoreAndHighScore), userInfo: nil, repeats: true)
не повезло, все еще показывает 0 – TroyDeJ
@TroyDeJ - Вы действительно вызывали таймер? Попробуйте установить точку останова в методе 'ScoreAndHighScore', чтобы убедиться, что он даже вызван. Если это не так, попробуйте использовать 'scheduleTimer', например call' Timer.scheduledTimer (timeInterval: 5.0, target: self, selector: #selector (ScoreAndHighScore), userInfo: nil, repeat: true) 'in' viewDidLoad' просто для тестирования – Pierce
просто попробовал оба, и ни один из них не работает, заставляет меня думать, что код просто совершенно неправильный. – TroyDeJ