【发布时间】:2018-11-19 05:50:14
【问题描述】:
在我的代码中,脚本附加到的对象总是向右移动,这意味着无论我触摸屏幕的哪个位置,总是满足第二个 if。游戏对象从屏幕中间开始。如果我触摸到对象的左侧,它应该向左移动。我错过了什么吗?
if (Input.touchCount > 0) {
Touch touch = Input.GetTouch (0);
if (touch.position.x < transform.position.x) {
transform.Translate (-0.05f * speed, 0, 0);
} else if (touch.position.x > transform.position.x) {
transform.Translate (0.05f * speed, 0, 0);
}
}
【问题讨论】:
-
iirc,您从
Input.GetTouch(0).position获得的位置是相对于屏幕空间的位置,对象位置是相对于世界空间的位置,您可能需要使用ScreenToWorldPoint()之类的东西来转换它们