/ / Die Koordinaten der Berührungsposition sind Null - schnell, Sprite-Kit, Koordinaten

Koordinate der Berührungsposition ist Null - Swift, Sprite-Kit, Koordinaten

Ich kämpfe darum, die Koordinaten basierend auf der Berührung zu bekommen.

Der Einfachheit halber habe ich ein neues Projekt mit Swift und einem Sprite-Kit-Spiel erstellt - dem Standard-Spinning-Raumschiff.

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
/* Called when a touch begins */

for touch: AnyObject in touches {
let location = touch.locationInNode(self)

let sprite = SKSpriteNode(imageNamed: "Spaceship")

sprite.xScale = 0.5
sprite.yScale = 0.5
sprite.position = location
**NSLog("position x %f and y %f", location.x, location.y)**
let action = SKAction.rotateByAngle(CGFloat(M_PI), duration: 1)

sprite.runAction(SKAction.repeatActionForever(action))

self.addChild(sprite)
}
}

Alles, was ich zum Projekt hinzugefügt habe, war das NSLog Linie, um die Koordinaten der Berührung auszugeben. Aber alles, was ich in der Ausgabe bekomme, ist 0 zum x und y.

Hat jemand eine Idee?

Antworten:

1 für die Antwort № 1

Konvertieren Sie was auch immer die location Objekt gibt für Variablen zurück x und y zu einem Float wenn Sie die Koordinaten mit ausdrucken möchten NSLog mit dem %f Formatierer

NSLog("position x %f and y %f", Float(location.x), Float(location.y))

Wenn Sie nicht bereit sind, verwenden Sie NSLogSie können auch das tun, was Okapi in seinem Kommentar vorgeschlagen und verwendet hat println. Beide Mechanismen funktionieren.

println("x:(location.x)  y:(location.y)")