TO_mek Opublikowano 7 Lutego 2011 Udostępnij Opublikowano 7 Lutego 2011 Witam! Przerobiłem obsługę klawiszy z poszczególnych zdarzeń wciskanych klawiszy na jeden skrypt wywoływany w zdarzeniu "any key" i niby wszystko działa tak samo ale nie jest obsługiwane zdarzenie puszczania klawisza. Konkretnie mam obsługę spacji podzieloną na 3 części: 1. moment wciśnięcia klawisza: if keyboard_check_pressed(vk_space) { nadanie wartości zmiennej globalnej "rysuj" = 1, zmiennej "laduj" = global.czas_ladowana (np. 10xroom_speed)} 2. moment trzymania klawisza spacji wciśniętego: if keyboard_check(vk_space) { dekrementacji zmiennej laduj, oraz gdy zmienna laduj dojdzie do 0 wykonanie akcji zaladowania broni} 3. moment puszczenia klawisza: if keyboard_check_released(vk_space) { nadanie zmiennej laduj wartosci -1, zmiennej rysuj 0} No i działa wciskanie klawisza spacji, trzymanie wciśniętego ale nie działa puszczanie klawisza spacji - i nie następuje wyzerowanie zmiennej rysuj ani zmienna ładuj także nie przyjmuje wartości -1. Zauważyłem, że w momencie gdy mam wciśnięty klawisz spacji i równocześnie wcisnę inny klawisz (np. "K") i puszczę spację mając wciąż wciśnięty ten inny klawisz ("K") to obsługa puszczenia klawisza spacji działa ok. Czemu to tak działa i jak temu zaradzić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 8 Lutego 2011 Udostępnij Opublikowano 8 Lutego 2011 Daj to do stepa i powinno ruszyć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 8 Lutego 2011 Udostępnij Opublikowano 8 Lutego 2011 Tak jak Uzjel mówi zrób. Dzieje się tak dlatego, że Any Key jest wykonywana cały czas póki jakiś klawisz jest wciśnięty. Jeśli puścisz to zdarzenie przestanie być wykonywane, a więc nie wykona się instrukcja sprawdzania puszczenia. Za to gdy trzymasz innych klawisz dodatkowo, np. K to zdarzenie dalej jest wykonywane mimo puszczenia spacji, bo coś wciśnięte jest, wiec działa. Przerzucenie do stepa powinno sprawę załatwić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TO_mek Opublikowano 8 Lutego 2011 Autor Udostępnij Opublikowano 8 Lutego 2011 Tak jak Uzjel mówi zrób. Dzieje się tak dlatego, że Any Key jest wykonywana cały czas póki jakiś klawisz jest wciśnięty. Jeśli puścisz to zdarzenie przestanie być wykonywane, a więc nie wykona się instrukcja sprawdzania puszczenia. Za to gdy trzymasz innych klawisz dodatkowo, np. K to zdarzenie dalej jest wykonywane mimo puszczenia spacji, bo coś wciśnięte jest, wiec działa. Przerzucenie do stepa powinno sprawę załatwić. No w sumie jest to logiczne :). Wrzucam do stepa i będzie ok. Dzięki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się