Zoeken…


Opmerkingen

Wanneer moet u SKAction s gebruiken om timerfuncties uit te voeren? Bijna altijd. De reden hiervoor is dat Sprite Kit werkt met een update-interval en de snelheid van dit interval kan worden gewijzigd gedurende de levensduur van het proces met behulp van de eigenschap speed . Scènes kunnen ook worden gepauzeerd. Aangezien SKAction binnen de scène werkt, hoeft u uw tijdfuncties niet te wijzigen wanneer u deze eigenschappen SKAction . Als uw scène 0,5 seconde in het proces zit en u de scène pauzeert, hoeft u geen timers te stoppen en dat verschil van 0,5 seconde te behouden. Het wordt automatisch aan u gegeven, zodat de resterende tijd wordt voortgezet wanneer u de pauze opheft.

Wanneer moet u NSTimer s gebruiken om timerfuncties uit te voeren? Wanneer u iets hebt dat getimed moet worden buiten de SKScene omgeving, en ook moet worden afgevuurd, zelfs wanneer de scène is gepauzeerd, of moet met een constante snelheid worden afgevuurd, zelfs wanneer de SKScene verandert.

Dit wordt het best gebruikt bij het werken met zowel UIKit besturingselementen als SpriteKit besturingselementen. Aangezien UIKit geen idee heeft van wat er gebeurt met SpriteKit , NSTimer 's ongeacht de status van de SKScene . Een voorbeeld zou zijn dat we een UILabel die elke seconde een update ontvangt en gegevens nodig heeft vanuit uw SKScene .

Implementeren van een methode die na een seconde vuurt

SKAction:

let waitForOneSecond = SKAction.waitForDuration(1) let action = SKAction.runBlock(){action()} let sequence = SKAction.sequence([waitForOneSecond,action]) self.runAction(sequence)

NSTimer:

NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: #selector(action), userInfo: nil, repeats: false)



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow