matik97 Opublikowano 5 Listopada 2010 Udostępnij Opublikowano 5 Listopada 2010 Czy gdy używamy pętli (albo warunku, nie wiem jak to nazwać) switch, to czy w poszczególnych case'ach musimy podawać konkretne wartości? Chodzi np. o to, żeby przy jednym case'ie dać "> 0" a przy drugim "<= 0", tak żeby zamiast: if vspeed > 0 { image_index = 0 } else { image_index = 1 } użyć po prostu jednego switcha: switch (vspeed) { case > 0: image_index = 0; break; case <= 0: image_index = 1; break; } Oczywiście ten switch nie działa, dlatego pytam się jak to poprawić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shockah Opublikowano 5 Listopada 2010 Udostępnij Opublikowano 5 Listopada 2010 Muszą być konkretne, albo if. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 5 Listopada 2010 Filar Społeczności Udostępnij Opublikowano 5 Listopada 2010 zawsze moze zrobić: GML if( vspeed > 0 ) wieksze = 1; else wieksze = 0; switch ( wieksze ) { 0: image_index = 0; break; 1: image_index = 1; break; } :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Saus Opublikowano 6 Listopada 2010 Udostępnij Opublikowano 6 Listopada 2010 @up GML image_index = wieksze; ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 6 Listopada 2010 Filar Społeczności Udostępnij Opublikowano 6 Listopada 2010 @up GML image_index = wieksze; ? Ale on chciał switcha Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DobryZiom Opublikowano 6 Listopada 2010 Udostępnij Opublikowano 6 Listopada 2010 no ale może on się nie zna i niepotrzebnie sobie utrudnia -.- Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Listopada 2010 Udostępnij Opublikowano 6 Listopada 2010 Nie wiem czy taka konstrukcja jest poprawna w GM, ale w C++ by było ok i jest jeszcze krócej: GML image_index = (vspeed > 0); A co do switcha to w case trzeba podawać konkretne wartości. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 6 Listopada 2010 Udostępnij Opublikowano 6 Listopada 2010 Wystarczy GML image_index = floor(vspeed) GM tak kompiluje kod (czy jak to się tam nazywa), że image_index MUSI przyjąć wartość od 0 do image_number-1 (oczywiście jako liczbę naturalną). To oznacza, że jeśli damy GML image_index = -3 to image_index będzie równe 0. Jeśli damy GML image_index = image_number+2 to image_index = image_number-1. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 6 Listopada 2010 Udostępnij Opublikowano 6 Listopada 2010 Nie prawda, bo image index na ujemnym to jest tyle samo co ilosc klatek animacji -x. Np jesli nasza animacja ma 10 klatek a ty w image index dasz -3 to wyswietlona zostanie 7 klatka animacji, a image index bedzie normalnie na wartosci ujemnej. Jeśli zaś dasz image_index = 11, to wyswietlona zostanie 1 klatka animacji. Bierzmy pod uwagę, że mając 10 klatek animacji indexowanie jest od 0 do 9. 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ę