Unity3D中的OnMouseUp()等价物

时间:2015-10-16 18:30:03

标签: android unity3d onmouseup

我基本上有这个代码。当我尝试使用OnMouseUp()函数时,我在unity3d中遇到了性能错误。我不知道如何使用Touch functions用于安卓。

void OnMouseUp()
{
    DetectCollider.IfInMain = false;
    DetectCollider.Score = 0.00f;
    MainMenux.SetActive(false);
    Mech.transform.rotation = Quaternion.Euler(270, 180, 0);
    DetectCollider.Speed = 100;
    ScoreCountTurn = true;
}

2 个答案:

答案 0 :(得分:2)

尝试这样的事情。它也应该适用于Android。

  void Update() {
    if (Input.GetMouseButtonUp(0)) 
    {
        DoStuff();
    }
  }

或者您可以使用Input.GetTouch(),然后检查TouchPhase,而不是GetMouseButtonUp()。并以这种方式支持多点触控。

  void Update() {
    if (Input.GetTouch(0).phase == TouchPhase.ended) 
    {
        DoStuff();
    }
  }

答案 1 :(得分:0)

必须使用Touch事件,这里有完整的示例: http://docs.unity3d.com/ScriptReference/Touch-phase.html

“TouchPhase.Ended”将等于OnMouseUp,但我不认为很少OnMouseUp会对你的游戏做任何明显的减速(你可以查看探查器如果使用大部分时间并优化那些)。

此外,您还必须实施光线投射以检查哪个对象被触摸位置击中。