/ / Координат розташування дотику дорівнює нулю - стрімкий, спрайт-комплект, координати

Координація розташування дотику дорівнює нулю - швидкий, спрайт-комплект, координати

Я намагаюся отримати координати на основі дотику.

Для простоти я створив новий Проект, використовуючи швидку та гру з спрайтом, - спінінг-космічний корабель за замовчуванням.

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)
}
}

Все, що я додав до проекту, було NSLog лінія для виведення координат дотику. Але все, що я отримую на виході - це 0 за x і y.

У кого-небудь є ідеї?

Відповіді:

1 для відповіді № 1

Перетворити все, що location Об'єкт повертається для змінних x і y до a Float якщо ви хочете роздрукувати координати за допомогою NSLog з %f форматування.

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

Якщо ви не мертвий, налаштований на використання NSLogВи також можете робити те, що запропонував Окапі у своєму коментарі та використанні println. Обидва механізми працюють.

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