等价于 Unity3D 中的 OnMouseUp()
Equivalent of OnMouseUp() in Unity3D
我基本上有这个代码。当我尝试使用 OnMouseUp()
函数时,我在 unity3d 中遇到了性能错误。我不知道如何将 Touch functions
用于 android。
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;
}
必须使用 Touch 事件,这里有完整的示例:
http://docs.unity3d.com/ScriptReference/Touch-phase.html
"TouchPhase.Ended" 等同于 OnMouseUp,但我认为很少有 OnMouseUp 会显着降低您的游戏速度(您可以使用分析器检查大部分时间是否使用并优化它们)。
然后您还必须实施光线投射来检查哪个对象被触摸位置击中。
尝试这样的事情。它也应该适用于 android。
void Update() {
if (Input.GetMouseButtonUp(0))
{
DoStuff();
}
}
或者您可以使用Input.GetTouch(),然后检查TouchPhase,而不是GetMouseButtonUp()。并支持多点触控。
void Update() {
if (Input.GetTouch(0).phase == TouchPhase.ended)
{
DoStuff();
}
}
我基本上有这个代码。当我尝试使用 OnMouseUp()
函数时,我在 unity3d 中遇到了性能错误。我不知道如何将 Touch functions
用于 android。
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;
}
必须使用 Touch 事件,这里有完整的示例: http://docs.unity3d.com/ScriptReference/Touch-phase.html
"TouchPhase.Ended" 等同于 OnMouseUp,但我认为很少有 OnMouseUp 会显着降低您的游戏速度(您可以使用分析器检查大部分时间是否使用并优化它们)。
然后您还必须实施光线投射来检查哪个对象被触摸位置击中。
尝试这样的事情。它也应该适用于 android。
void Update() {
if (Input.GetMouseButtonUp(0))
{
DoStuff();
}
}
或者您可以使用Input.GetTouch(),然后检查TouchPhase,而不是GetMouseButtonUp()。并支持多点触控。
void Update() {
if (Input.GetTouch(0).phase == TouchPhase.ended)
{
DoStuff();
}
}