Ich habe ein paar Sprites in einem schnellen Spiel, die identische Aktionslisten haben (technisch [SKAction]). Sie sind alle an verschiedenen Stellen in der Action-Sequenz, und ich muss sie in der Reihenfolge der vollständigsten (mit der Aktion) zu am wenigsten vervollständigen. Wie bekomme ich den Fortschritt eines Sprites (oder zumindest den Schritt der Aktion)? Am liebsten würde ich den Prozentsatz der Fertigstellung für den Schritt erhalten, auf dem es läuft.Swift: Überprüfung der Fortschritte auf SKActions
Aus Gründen der Beispielcode:
let sprite1 = SKShapeNode.init(rectOf: CGSize.init(width: 20, height: 20), cornerRadius: 5)
let sprite2 = SKShapeNode.init(rectOf: CGSize.init(width: 20, height: 20), cornerRadius: 5)
let sprite3 = SKShapeNode.init(rectOf: CGSize.init(width: 20, height: 20), cornerRadius: 5)
sprite1.position = CGPoint(x: -100, y: 0)
sprite2.position = CGPoint(x: 0, y: 0)
sprite3.position = CGPoint(x: 100, y: 0)
let sequence : [SKAction] = [SKAction.move(by: CGVector(dx: 50, dy: 0), duration: 1.5),
SKAction.rotate(byAngle: CGFloat(M_PI/2), duration: 1.0),
SKAction.move(by: CGVector(dx: 0, dy: 50), duration: 1.5),
SKAction.rotate(byAngle: CGFloat(M_PI/2), duration: 1.0),
SKAction.move(by: CGVector(dx: -50, dy: 0), duration: 1.5)]
sprite1.run(SKAction.sequence(sequence))
//wait 1 second
sprite2.run(SKAction.sequence(sequence))
//wait another second
sprite3.run(SKAction.sequence(sequence))
var spriteAccord : [SKSpriteNode] = //insert ranking code
Bitte posten Sie Ihre echten Code, dies nicht – Eric
tut kompilieren Sie basiert auf Zeit Rang benötigen oder welche Maßnahmen sie in – Knight0fDragon
Es wäre was für eine Aktion sie sind (wie ich vergessen habe zu erwähnen, dass sie mit unterschiedlichen Geschwindigkeiten laufen können). Also werde ich ein Wörterbuch von Startzeiten nehmen und die verschiedenen Geschwindigkeiten verwenden, um "Entfernung" entlang der Sequenz zu berechnen und die zurückgelegte Distanz zu verwenden, um Ranglisten zu erhalten –