Also experimentiere ich mit Sprite-Kit, um einen kreisförmigen Weg zu bauen, wo der Hauptcharakter folgen und Münzen sammeln kann. Ich habe meinen Charakter erfolgreich positioniert und ihn dazu gebracht, meinem kreisförmigen Weg zu folgen.Sprite-Kit: Wie man Sprites auf einer Kreisbahn positioniert
Was ich versuche ist folgendes zu erreichen:
- rote Kugel ist die Hauptfigur [done]
- weiß Polygone sind die Münzen
// Adding the big circle
let runway = SKSpriteNode(imageNamed: "runway")
runway.position = CGPointMake(CGRectGetMidX(frame), CGRectGetMidY(frame))
addChild(runway)
// Adding the player
player = SKSpriteNode(imageNamed: "player")
player.position = CGPointMake(CGRectGetMidX(frame) , (CGRectGetMidY(frame) + runway.size.width/2))
// Calculating the initial position of the player and creating a circular path around it
let dx = player.position.x - frame.width/2
let dy = player.position.y - frame.height/2
let radian = atan2(dy, dx)
let playerPath = UIBezierPath(
arcCenter: CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame)),
radius: (runway.frame.size.width/2) - 20,
startAngle: radian,
endAngle: radian + CGFloat(M_PI * 4.0),
clockwise: true)
let follow = SKAction.followPath(playerPath.CGPath, asOffset: false, orientToPath: true, speed: 200)
player.runAction(SKAction.repeatActionForever(follow))
Mein Problem ist jetzt, wie man meine Münzen auf dem gleichen Weg positionieren kann? Gibt es eine Möglichkeit, ihre Positionen mit dem gleichen Pfad zu generieren, oder sollte ich für jede Münze einen bestimmten Pfad erstellen und den Pfad currentPoint
jedes Mal extrahieren ??
Gibt es eine einfachere Möglichkeit, mein Problem zu lösen?
Dank
Der Link zum Bild ist unterbrochen ... Sie können hinzufügen, wie und wo Sie den Pfad erstellen, um eine bessere Antwort zu erhalten. Aber im Allgemeinen müssen Sie wissen, wo sich die Mitte Ihrer kreisförmigen Bahn befindet und welchen Radius sie hat. Auf dieser Grundlage können Sie problemlos Punkte auf dem Umfang berechnen (was der tatsächliche Pfad ist, über den Sie sprechen). – Whirlwind
Ich habe meinen ersten Post mit Code aktualisiert, in der Hoffnung, dass er anderen helfen könnte, mein Problem zu verstehen. Ich kann das Bild sehen und es ist nicht für mich gebrochen. Seltsam ?! –
Ja, seltsam. Ich kann es weder vom Gerät noch vom Computer aus öffnen. Link in die Kommentare einfügen (wenn Sie möchten) ... Aktualisierter Code ist jedoch genug. – Whirlwind