Wpis z mikrobloga

Mam pytanie do kogoś kto to mógłby ogarnąć gdyż ja nie jestem w stanie mianowicie mi chodzi o to że w grze mej mam multitouch wyrażony takim kodem:

`if (Input.touchCount > 0)

{

for (int i = 0; i < Input.touchCount; i++)

{

Touch t = Input.GetTouch (i);

if (t.phase == TouchPhase.Began)

{

if (guiLeft.HitTest (t.position, Camera.main)) {

moveLeft = true;

}

if (guiRight.HitTest (t.position, Camera.main)) {

moveRight = true;

}

if (guiJump.HitTest (t.position, Camera.main)) {

doJump = true;

}

}

if (t.phase == TouchPhase.Ended)

{

guiLeftTouch.enabled = false;

guiRightTouch.enabled = false;

guiJumpTouch.enabled = false;

guiLeft.enabled = true;

guiRight.enabled = true;

guiJump.enabled = true;

doJump = moveLeft = moveRight = false;

}

}

}`

Te guiRight jump itd to grafiki przycisków do sterowania. Sprawa jest taka że sam w sobie multitouch działa ale jest taka sytuacja że przykładowo trzymam strzałkę w prawo i ona jest wciśnięta i działa, potem jednocześnie wciskam skok i on działa razem ze strzałką ale jak puszcze przycisk skoku to wyłącza się również poruszanie w prawo mimo że mój palec nadal jest na tym przycisku, jak temu zapobiec? Silnik to #unity #unity3d

  • 4
  • Odpowiedz
Na szybko to wydaje mi się, że podczas puszczenia jakiegokolwiek przycisku "blokują" się wszystkie przyciski dzięki funkcji "if (t.phase == TouchPhase.Ended)"
  • Odpowiedz