Я намагаюся отримати координати на основі дотику.
Для простоти я створив новий Проект, використовуючи швидку та гру з спрайтом, - спінінг-космічний корабель за замовчуванням.
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)")