cysior Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 Zrobiłem cos takiego ale kod jest dość duży, mozecie go jakoś skrócić. Z góry dzieki za pomoc GML if keyboard_check(ord('I')) { if gotowy=1 and direct=360 { sprite_index=sprud1 image_speed=1/5 gotowy=0 alarm[0]=18 { if con=1 { global.fighter2hp-=10 } } } } if keyboard_check(ord('I')) { if gotowy=1 and direct=180 { sprite_index=sprud2 image_speed=1/5 gotowy=0 alarm[0]=18 { if con=1 { global.fighter2hp-=10 } } } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 Robisz bardzo dziwne rzeczy: -Stawiasz jakieś niepotrzebne nawiasy klamrowe. -Otwierasz dwa razy ten sam warunek jeden pod drugim ( if keyboard_check(ord('I')) ) GML if keyboard_check(ord('I') and gotowy=1 { if direct=360 { sprite_index=sprud1 image_speed=1/5 gotowy=0 alarm[0]=18 if con=1 global.fighter2hp-=10 } else if direct=180 { sprite_index=sprud2 image_speed=1/5 gotowy=0 alarm[0]=18 if con=1 global.fighter2hp-=10 } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pamparampa Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 GML if keyboard_check(ord('I')) { if gotowy=1 { image_speed=1/5 gotowy=0 alarm[0]=18 if con=1 global.fighter2hp-=10 if direct=360 sprite_index=spr_sprud1 if direct=180 sprite_index=spr_sprud2 } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 pamparampa źle. A co jeśli direct nie jest równa ani 180 ani 360? wtedy nic się nie powinno wykonać. Przynajmniej według jego kodu. Chociaż domyślam się, że jemu chodziło o to co podałeś, ale jednak to nie to samo ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KozakPL Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 może tak: GML if keyboard_check(ord('I')) and gotowy=1 and direct=360 { sprite_index=sprud1 image_speed=1/5 gotowy=0 alarm[0]=18 { if con=1 { global.fighter2hp-=10 } } } } if keyboard_check(ord('I')) and gotowy=1 and direct=180 { sprite_index=sprud2 image_speed=1/5 gotowy=0 alarm[0]=18 { if con=1 { global.fighter2hp-=10 } } } } zawsze coś xD EDIT: A raczej tak GML if keyboard_check(ord('I')) and gotowy=1 and direct=360 { sprite_index=sprud1 image_speed=1/5 gotowy=0 alarm[0]=18 if con=1 then global.fighter2hp-=10 if keyboard_check(ord('I')) and gotowy=1 and direct=180 { sprite_index=sprud2 image_speed=1/5 gotowy=0 alarm[0]=18 if con=1 then global.fighter2hp-=10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 @UP Idź Pan stąd! Po pierwsze ten syf się nie skompiluje, a po drugie to takie skrócenie to se możesz wsadzić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pamparampa Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 pamparampa źle. A co jeśli direct nie jest równa ani 180 ani 360? wtedy nic się nie powinno wykonać. Przynajmniej według jego kodu. Chociaż domyślam się, że jemu chodziło o to co podałeś, ale jednak to nie to samo ;) jeśli direct może wynosić wartość inną niż 360 lub 180 to można zrobić tak GML if keyboard_check(ord('I')) { if gotowy=1 { if direct=360 or direct=180 { image_speed=1/5 gotowy=0 alarm[0]=18 if con=1 global.fighter2hp-=10 if direct=360 sprite_index=spr_sprud1 if direct=180 sprite_index=spr_sprud2 } } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 Wtedy można skrócić jeszcze bardziej i pierwsze 3 if dać w jednym. Ale po co sprawdzać trzy razy direct? :) Wiem, że to spowalnia o jakąś milionową część sekundy, ale mam fioła na punkcie takich idiotycznych optymalizacji :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
47xxxxxxxx Opublikowano 6 Lipca 2009 Udostępnij Opublikowano 6 Lipca 2009 GML if keyboard_check(ord("I")) && if gotowy = =1 { switch direct { case 180:sprite_index=spr_sprud2;image_speed=1/5; gotowy=0; alarm[0]=18; if con=1 global.fighter2hp-=10;break; case 360:sprite_index=spr_sprud1;image_speed=1/5; gotowy=0; alarm[0]=18; if con=1 global.fighter2hp-=10;break; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
cysior Opublikowano 7 Lipca 2009 Autor Udostępnij Opublikowano 7 Lipca 2009 Dzieki Platyna na przyszłość postaram sie robić mniej zawiłe kody :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 7 Lipca 2009 Administratorzy Udostępnij Opublikowano 7 Lipca 2009 Teraz was rozwalę: GML if keyboard_check(ord('I')) and gotowy=1 { if direct=360 or direct=180 { if direct = 180 then sprite_index = sprud1 else sprite_index = sprud2; image_speed=1/5; gotowy=0; alarm[0]=18; if con=1 then global.fighter2hp-=10; } } 11 linijek - 77% mniej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
cysior Opublikowano 7 Lipca 2009 Autor Udostępnij Opublikowano 7 Lipca 2009 @up O.o Niezle :) Chyba skorzystam z tego kodu ^^ 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ę