混淆Swift中的反转触摸事件
在我的function
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){ for touch in touches{ let touchLocation = touch.location(in: self.view) print("X: \(touchLocation.x) Y: \(touchLocation.y)") } }
我得到逆转的Y值。 如果我点击顶部,我会得到〜0值,如果我点击底部,我会得到高价值。 这使我的精灵im移动在错误的Y方向。
但是,如果我删除self.view中的“.view”它应该像它应该。 有谁知道为什么它倒过来,当我使用self.view?
正如Whirlwind在你的问题下面的注释中所解释的那样,这是因为你自己指明了SKScene
(SpriteKit),而SKView
使用了SKView
( UIView
子类,所以UIKit系统):
iOS的 UIKit坐标系统的起源位于绘图区域的左上angular,正值从右向下延伸。
SpriteKit坐标系在iOS和OS X上都使用相同的坐标系,左下angular有原点(0,0),右上angular有(1334,750)坐标。