/ / Równoważnik OnMouseUp () w Unity3D - android, unity3d, onmouseup

Odpowiednik OnMouseUp () w Unity3D - android, unity3d, onmouseup

Zasadniczo mam ten kod. Dostałem błędy wydajności w unity3d, gdy próbowałem użyć OnMouseUp() funkcjonować. Nie mam pojęcia, jak używać Touch functions dla 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;
}

Odpowiedzi:

2 dla odpowiedzi № 1

Spróbuj czegoś takiego. To powinno działać również na Androidzie.

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

Lub możesz użyć Input.GetTouch (), a następnie zaznaczyć TouchPhase zamiast GetMouseButtonUp (). I wspieraj multitouching w ten sposób.

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

0 dla odpowiedzi nr 2

Będzie musiał użyć zdarzeń Touch, tutaj jest pełny przykład: http://docs.unity3d.com/ScriptReference/Touch-phase.html

"TouchPhase.Ended "byłby równy OnMouseUp, ale nie sądzę, żeby kilka OnMouseUp spowodowało jakiekolwiek zauważalne spowolnienia w twojej grze (możesz to sprawdzić za pomocą profilera, jeśli używasz większości czasu i zoptymalizować je).

Musisz także zaimplementować wycinanie, aby sprawdzić, który przedmiot zostanie trafiony przez dotyk.