Autor Wątek: Problem ze sterowaniem.  (Przeczytany 1547 razy)

Offline mateusy04

  • Użytkownik

# Maj 17, 2015, 18:32:20
Witam i prosze o pomoc bo nie potrafię sobie z tym poradzić. Po kliknięciu w przycisk odpowiedzialny za ruch w lewo/prawo gracz porusza się tylko raz i trzeba kliknąć drugi raz aby powtórzył czynność. Chcę zrobić tak aby poruszał się aż do czasu gdy puszczę przycisk. Wszystko działa na "event trigger". Załączam ss'y:

Skrypt:
http://i.imgur.com/VP3VC8d.png

Event trigger:
http://i.imgur.com/Dj5VPan.png

Przyciski:
http://i.imgur.com/8JCzhp5.png


Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Gimer

  • Użytkownik
    • Portfolio

# Maj 17, 2015, 18:46:25
Nawet nie spojrzałem w kod ale co mi tam :)

https://unity3d.com/learn/tutorials/modules/beginner/ui/ui-events-and-event-triggers

http://docs.unity3d.com/ScriptReference/EventSystems.EventTrigger.html

Nie wiem czy nie ma lepszego sposobu ale możesz podpisać dwa triggery pod jeden button. Więc jeden robisz PointerDown, drugi PointerUp.
W pointerDown zmieniasz boola odpowiedzialnego za ruch i w update się poruszasz. W pointerUp zmieniasz boola na false i się nie ruszasz. W ten sposób ruszasz się dopóki gracz trzyma wciśnięty button.

Edit:
Lepiej w FixedUpdate () skoro poruszasz się przez Rigidbody.

Edit 2:
Tak sobie pomyślałem, ze zamiast 4 booli możesz mieć dwa. Tylko zmieniaj współczynnik prędkości na przeciwny.
Przykład:
void FixedUpdate () {
    if (lewoPrawo)
        // jak w lewo to predkosc ujemna, jak w prawo dodatnia
        rb.MovePosition (transform.position + przesuniecie * szybkoscLewoPrawo * Time.deltaTime);
}
« Ostatnia zmiana: Maj 17, 2015, 18:52:34 wysłana przez Gimer »

Offline mateusy04

  • Użytkownik

# Maj 19, 2015, 20:56:06
Wielkie dzięki.

Offline Gimer

  • Użytkownik
    • Portfolio

# Maj 19, 2015, 21:54:10
Wielkie dzięki.

Chociaż zrobiłeś jak napisałem? Pewnie bym darował sobie to pytanie ale cały dzień czekam aż mi się programy poinstalują i tak nie mam co z sobą zrobić. Niby czekam i nic nie robię ale co jakiś czas trzeba kliknąć.

Offline mateusy04

  • Użytkownik

# Maj 20, 2015, 09:21:25
Trochę inaczej ale ten twój post powyżej nakierował mnie na tyle, że wgl jakoś się za to wziąłem ;)