GetKeyDown wykonuje się 4 razy

Programowanie w Unity.

GetKeyDown wykonuje się 4 razy

Postprzez StamiYT » 17 Sie 2018, 09:29

Witam. Oto mój kawałek kodu:

Kod: Zaznacz wszystko
if(Input.GetKeyDown(MouseControl))
{
    sterowanie = !sterowanie;
    Debug.Log("Zmieniono zasady sterowanie ");
}

(if jest umieszczony w funkcji OnGUI() )

Problem jest w tym, że za jednym wciśnięciem klawisza, if wykonuje się nie 1, a 4 razy. W czym jest problem?

Z góry dziękuje za pomoc!
StamiYT
 
Posty: 2
Rejestracja: 13 Sie 2018, 12:09
Has thanked: 0 time
Been thanked: 0 time

Re: GetKeyDown wykonuje się 4 razy

Postprzez Wichur » 20 Sie 2018, 04:58

dodaj zabezpieczenie dodatkowym booleanem albo daj to w funkcji update. Czasem takie kwiatki się dzieją
Awatar użytkownika
Wichur
 
Posty: 98
Rejestracja: 19 Gru 2017, 10:33
Miejscowość: Pruszcz Gdański
Has thanked: 0 time
Been thanked: 0 time

Re: GetKeyDown wykonuje się 4 razy

Postprzez Hostur » 21 Sie 2018, 13:17

OnGUI nie służy do zbierania inputów, wykonuje się 4x na Update.
Hostur
 
Posty: 648
Rejestracja: 05 Sie 2015, 07:36
Has thanked: 0 time
Been thanked: 0 time


Wróć do Skrypty

Kto jest na forum

Użytkownicy przeglądający to forum: Google [Bot] oraz 10 gości