У меня есть стрельба персонажа, и она всегда включена, когда вы касаетесь экрана, но я хочу, чтобы она остановилась, когда вы перестали касаться экрана. Прямо сейчас, когда вы касаетесь экрана, он начнет съемку, но она не остановится, когда вы перестанете касаться экрана.Как остановить съемку с помощью «NSTimer»
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
/* Called when a touch begins */
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
player.position.x = location.x
var timer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: Selector("spawnShot"), userInfo: nil, repeats: true)
}
}
override func touchesEnded(touches: Set<NSObject>, withEvent: UIEvent){
for touch: AnyObject in touches{
var timer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: Selector("spawnShot"), userInfo: nil, repeats: false)
}
}
В 'touchesEnded' вам необходимо аннулировать таймер, созданный вами в' touchhesBegan'. – rmaddy