Я хочу создать простой отсчет времени для своей игры, чтобы при запуске игры я хотел, чтобы эта функция вызывалась каждую секунду:
fun minusOneSecond(){
if secondsLeft > 0{
secondsLeft -= 1
seconds_thegame.text = secondsLeft.toString()
}
}
Я пробовал это:
var secondsLeft = 15
timer.scheduleAtFixedRate(
object : TimerTask() {
override fun run() {
minusOneSecond()
}
},0, 1000
) // 1000 Millisecond = 1 second
Но приложение, к сожалению, останавливается, во второй раз вызывается функция запуска
Я только начал разработку Android и Kotlin 3 недели назад, и до сих пор я понимаю, что из этого лучше всего.
С помощью SWIFT в XCode я использую эту строку, и я думал, что нечто подобное будет работать с Kotlin
setTimer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(minusOneSecond), userInfo: nil, repeats: true)