触摸位置坐标为零
Co-ordinate of touch location is zero
我正在努力获取基于触摸的坐标。
为简单起见,我使用 swift 和精灵套件游戏创建了一个新项目 - 默认的旋转宇宙飞船。
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
for x
and y
.
有人知道吗?
如果要使用 NSLog
打印坐标,请将 location
对象为变量 x
和 y
返回的任何内容转换为 Float
%f
格式化程序。
NSLog("position x %f and y %f", Float(location.x), Float(location.y))
如果您还没有死心塌地地使用 NSLog
,您也可以按照 Okapi 在他的评论中的建议使用 println
。两种机制都有效。
println("x:\(location.x) y:\(location.y)")
我正在努力获取基于触摸的坐标。
为简单起见,我使用 swift 和精灵套件游戏创建了一个新项目 - 默认的旋转宇宙飞船。
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
for x
and y
.
有人知道吗?
如果要使用 NSLog
打印坐标,请将 location
对象为变量 x
和 y
返回的任何内容转换为 Float
%f
格式化程序。
NSLog("position x %f and y %f", Float(location.x), Float(location.y))
如果您还没有死心塌地地使用 NSLog
,您也可以按照 Okapi 在他的评论中的建议使用 println
。两种机制都有效。
println("x:\(location.x) y:\(location.y)")