【发布时间】:2015-09-11 14:05:27
【问题描述】:
我正在使用此代码来获取投掷方向:
throwDirection = -(Camera.main.WorldToScreenPoint(hookedObject.transform.position) -
Input.mousePosition)/(Camera.main.WorldToScreenPoint(hookedObject.transform.position) -
Input.mousePosition).magnitude;
我的问题是当我尝试将其翻译为使用触摸时,它给了我这个错误:
错误 CS0121:以下方法或属性之间的调用不明确:UnityEngine.Vector2.operator -(UnityEngine.Vector2, UnityEngine.Vector2) 和 UnityEngine.Vector3.operator -(UnityEngine.Vector3, UnityEngine.Vector3)
这里是触摸版的代码,基本上只是把Input.mousePosition换成了Input.GetTouch(0).position:
throwDirection = -(Camera.main.WorldToScreenPoint(hookedObject.transform.position) -
Input.GetTouch(0).position)/(Camera.main.WorldToScreenPoint(hookedObject.transform.position)
- Input.GetTouch(0).position).magnitude;
我很困惑为什么会发生这个错误。我使用矢量 2 作为鼠标位置,使用矢量 2 作为触摸位置。然而这个错误只发生在代码的触摸版本上?每次我尝试使用Input.GetTouch(0).position 时,它都会出现两次。
当我尝试将 Input.GetTouch(0).position 保存到变量时,会发生相同的错误。但它只在我使用变量时发生,而不是在我存储变量时发生。
例如:
Vector2 touchPos = Input.GetTouch(0).position;
这不会给我错误但是如果我尝试在另一个语句中使用此变量,则会发生错误。
【问题讨论】:
标签: android vector input unity3d touch