Я делаю простую игру, и каждую секунду мне нужен игрок, чтобы потерять «точку» пищи. В настоящее время у меня есть такая декларация.NSTimer не будет вызывать функцию в объекте
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: player, selector: Selector(player.foodLoss()), userInfo: nil, repeats: true)
И я никогда не слышал от таймера снова, то есть, насколько мне известно, не оказывает влияния на остальной части приложения. Мой Player
класс следующим образом
class Player: Character {
var food = 100
init(startingHealth: Int = 100, startingFood: Int = 100) {
super.init(imageNamed: "Player", entityName: "Player")
food = startingFood
sprite = SKSpriteNode(imageNamed: "Player")
}
func adjustFood(amountToAdjustBy adjustAmount: Int) -> Bool{
if food + adjustAmount <= 100 {
food += adjustAmount
return true
} else {
return false
}
}
func foodLoss() {
food -= 1
print("food lost")
}
}
я не получаю сообщение об ошибке при выполнении кода. Единственное, что происходит, это player.food
полностью не затронуто. Любая помощь с моей проблемой будет очень полезна.
Заранее благодарен!
Вы никогда не называют 'timer' в своем классе ... как ожидают его вычитать что-нибудь? –