Skok przy dotknięciu ekran

Tworzenie oprogramowania dla IOS i Android.

Skok przy dotknięciu ekran

Postprzez Jarkovsky » 06 Wrz 2016, 14:34

Witam, jestem początkującym programistą na androida - uczę się. Robię na początek prostą grę w Unity, zwykła platformówka 2D. Wykonałem poruszanie się funkcją acceleration, szukałem jakiś przykładów dla skoku postaci ale nic nie mogłem znaleźć, dokładniej chodzi mi o to że jak kliknie się ekran nieważne w którym miejscu postać skoczy :)

Pozdrawiam,
Jarkovsky.
Jarkovsky
 
Posty: 23
Rejestracja: 06 Wrz 2016, 14:29
Has thanked: 0 time
Been thanked: 0 time

Re: Skok przy dotknięciu ekran

Postprzez Saitama » 06 Wrz 2016, 14:43

Na początku kod odpowiedzialny za skakanie wrzucasz do public void. Następnie tworzysz w UI button wielkości ekranu do którego podpinasz skrypt postaci i wybierasz void odpowiedzialny za skakanie.
Saitama
 
Posty: 94
Rejestracja: 24 Lip 2016, 21:41
Has thanked: 0 time
Been thanked: 0 time

Re: Skok przy dotknięciu ekran

Postprzez Pathy » 06 Wrz 2016, 14:51

Nie wiem jak wygląda u ciebie sterowanie postacią, ale klikanie w losowym miejscu na ekranie wywołujące skok nie musi być wcale przeszkodą np. jak wykorzystujesz do poruszania się prawo-lewo accelerometer-input :D (Wychodzę z założenia, że to jest gra 2D).


https://unity3d.com/learn/tutorials/top ... list=17138
Pathy
 
Posty: 38
Rejestracja: 05 Mar 2015, 16:03
Has thanked: 0 time
Been thanked: 0 time

Re: Skok przy dotknięciu ekran

Postprzez Saitama » 06 Wrz 2016, 15:07

Jeżeli przyciskiem skoku jest cały ekran to pewnie jest to endless runner ;)
Saitama
 
Posty: 94
Rejestracja: 24 Lip 2016, 21:41
Has thanked: 0 time
Been thanked: 0 time

Re: Skok przy dotknięciu ekran

Postprzez Marcin » 06 Wrz 2016, 15:32

Jeżeli ma to być skok po naciśnięciu gdziekolwiek, to można to zrobić prościej. Tworzysz skrypt odpowiedzialny za wykrywanie pojedynczego kliknięcia i wywołujesz odpowiednią funkcję np. "Jump".
Marcin
 
Posty: 293
Rejestracja: 25 Lip 2016, 10:44
Has thanked: 0 time
Been thanked: 0 time

Re: Skok przy dotknięciu ekran

Postprzez Jarkovsky » 06 Wrz 2016, 15:37

Marcin o tym samym właśnie pomyślałem , muszę poczytać jak wykryć pojedyncze kliknięcie w ekran.
Jarkovsky
 
Posty: 23
Rejestracja: 06 Wrz 2016, 14:29
Has thanked: 0 time
Been thanked: 0 time

Re: Skok przy dotknięciu ekran

Postprzez Marcin » 06 Wrz 2016, 15:57

W Unity jest możliwość sprawdzenia stanu wejścia w każdej chwili - w tym również dotknięć. W zależności od platformy chyba występują pewne różnice, ale ogólnie musisz pobawić się dotknięciami (Input.touches). Sprawdzasz, czy jest tylko jeden dotyk, czy pozycja się nie zmienia, czy trwa to określoną długość czasu. Masz sporo możliwości i możesz to zrobić w zasadzie jakkolwiek chcesz. Im dłuższe kliknięcie tym wyższy skok np. Jeżeli podczas kliknięcia było przesunięcie to np. skok w bok.
Marcin
 
Posty: 293
Rejestracja: 25 Lip 2016, 10:44
Has thanked: 0 time
Been thanked: 0 time

Re: Skok przy dotknięciu ekran

Postprzez Galowsky » 06 Lip 2017, 10:55

Poniżej kod jak ja to zastosowałem w swojej grze, typu Flappy Bird:
if (Input.GetMouseButtonDown(0))
{
rBody2d.velocity = new Vector3 (0f, 2f, 0f);

}
Pozdrawiam.
Galowsky
 
Posty: 2
Rejestracja: 06 Lip 2017, 10:44
Has thanked: 0 time
Been thanked: 0 time


Wróć do iPhone i Android

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 3 gości