XxMichałxX Opublikowano 18 Marca 2009 Udostępnij Opublikowano 18 Marca 2009 object0 to piłkarz i tam sobie chodzi mniejsza o niego tak samo jak object4 - to tez pilkarz i tez mniejsza o niego ;P object1 to piłka object1 Create: GML global.who=0 object1 Step: GML if global.who=0 { friction=choose(0.1,0.2,0.3,0.4,0.5) } if global.who=1 and !keyboard_check(vk_control) { x=object0.x y=object0.y } if global.who=2 and !keyboard_check(vk_space) { x=object4.x y=object4.y } if place_meeting(x,y,object0) or place_meeting(x,y,object4) { if place_meeting(x,y,object0) { global.who=1 } if place_meeting(x,y,object4) { global.who=2 } } else { global.who=0 } if x<=0 or x>=room_width-30 or y<=0 or y>=room_height-30 { global.who=0 speed=0 x=320 y=240 } Kolizja z object0: GML if keyboard_check(vk_space) { global.who=0 speed=20+object0.speed direction=object0.direction } Kolizja z object4 GML if keyboard_check(vk_control) { global.who=0 speed=20+object4.speed direction=object4.direction } piłki sie kopnąć raczej nie da tak jakoś dziwnie leci, albo jak jojo - poleci przed piłkarza kawałek i wróci z wielką prędkosćią zasyfiały ten kod, nawet chyba wiem czemu tak sie dzieje.. da sie jakos ten kod innaczej zrobic? edit: pewnie powiecie ze po co ten kod: if global.who=0 { friction=choose(0.1,0.2,0.3,0.4,0.5) } .. załóżmy, że wiatr się gwałtownie zmienia :P xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 18 Marca 2009 Udostępnij Opublikowano 18 Marca 2009 ja piernicze. mam już dość tych twoich idiotycznych kodów. Nic się nie nauczyłeś po moim wyczerpującym poście w poprzednim twoim temacie. Powtarzasz te same błędy! Nie wiem czemu ci nie działa i nie chce mi się szukać za to mogę ci powiedzieć co jest bez sensu w tym kodzie bo widzę że sam nie jesteś w stanie uruchomić mózgownicy. friction=choose(0.1,0.2,0.3,0.4,0.5) Nie wiem co chcesz osiągnąć ale wydaje mi się że możesz to zrobić za pomocą friction=0.1+random(0.4) Głowy se uciąć nie dam ale chyba jest szybsze a na pewno przejrzystsze if global.who=0 { friction=choose(0.1,0.2,0.3,0.4,0.5) } if global.who=1 and !keyboard_check(vk_control) { x=object0.x y=object0.y } if global.who=2 and !keyboard_check(vk_space) { x=object4.x y=object4.y } Czy ty nie znasz takiego czegoś jak "else if"? Skoro już pierwszy warunek się spełni to po cholerę ma sprawdzać następne jeśli są sprzeczne? jeśli już global.who=1 było prawdziwe to po co jeszcze sprawdzać global.who=2 skoro wiadomo że będzie fałszywe! Myśl! To nie boli! Naucz się co to jest "else if" if place_meeting(x,y,object0) or place_meeting(x,y,object4) { if place_meeting(x,y,object0) { global.who=1 } if place_meeting(x,y,object4) { global.who=2 } } Rzygać mi się chce jak widzę taki kod. Dokładnie taki sam bezsens miałeś w ostatnim temacie i cię za to ochrzaniłem. Sprawdzasz czy a lub b a potem jeszcze raz sprawdzasz oddzielnie a i b żeby zobaczyć które z nich -_- Po co dwa razy sprawdzać place_meeting(x,y,object0) i dwa razy place_meeting(x,y,object4)? Tak lubisz pożerać cenne fpsy i przejrzystość kodu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 18 Marca 2009 Autor Udostępnij Opublikowano 18 Marca 2009 Rzygać mi się chce jak widzę taki kod. Dokładnie taki sam bezsens miałeś w ostatnim temacie i cię za to ochrzaniłem. Sprawdzasz czy a lub b a potem jeszcze raz sprawdzasz oddzielnie a i b żeby zobaczyć które z nich sleep.gif Po co dwa razy sprawdzać place_meeting(x,y,object0) i dwa razy place_meeting(x,y,object4)? Tak lubisz pożerać cenne fpsy i przejrzystość kodu? Nie rozumiesz, że robie ten kod, żeby zrobić ELSE do dwóch warunków?! Innaczej nie umiem! to tak samo jak to: GML if keyboard_check(vk_up) { sprite_index=gora y-=5 } else { sprite_index=nieruszasie } if keyboard_check(vk_down) { sprite_index=dol y+=5 } else { sprite_index=nieruszasie } jak zrobie taki kod to nacisne vk_down np a itak sie nei zmieni animacja bo bedzie dzialac else od vk_up a tak jak zrobie if vk_up or vk_down to moge do tego warunku dac else i dopiero sprite_index=nieruszasie qmasz?! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 18 Marca 2009 Udostępnij Opublikowano 18 Marca 2009 Ja qumam. Ale ty nie! Nie możesz po prostu zrobić tak? GML if global.who=0 { friction=choose(0.1,0.2,0.3,0.4,0.5) } else if global.who=1 and !keyboard_check(vk_control) { x=object0.x y=object0.y } else if global.who=2 and !keyboard_check(vk_space) { x=object4.x y=object4.y } oraz tak? GML if place_meeting(x,y,object0) { global.who=1 } else if place_meeting(x,y,object4) { global.who=2 } else { global.who=0 } Powtórzę jeszcze raz: Myśl! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 18 Marca 2009 Autor Udostępnij Opublikowano 18 Marca 2009 aha no fakt bo przeciez szkoda jednej tysięcznej megaherca z procesora Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 18 Marca 2009 Udostępnij Opublikowano 18 Marca 2009 aha no fakt bo przeciez szkoda jednej tysięcznej megaherca z procesora Teraz to jest jedna tysięczna. Ale kiedyś będziesz robił większe projekty a te warunki będą zawierały funkcje o złożoności na przykład kwadratowej. Wtedy to będzie się bardzo liczyło. A ty nie będziesz umiał inaczej bo sie teraz nauczysz złych nawyków. A ten post napisałeś tylko dlatego że nie potrafisz przyznać mi racji, że się myliłeś. :P Poza tym sam przyznasz chyba że poza optymalnością jest też DUŻO przejrzyściej. A to też jest ważne niekiedy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 18 Marca 2009 Udostępnij Opublikowano 18 Marca 2009 aha no fakt bo przeciez szkoda jednej tysięcznej megaherca z procesora Jakbyś pisał jakiś program/grę dziesięć lat temu to byś szukał rozwiązania żeby gra owalała o tą jedną milionową mniej procesora, ale ty mądry jesteś. 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ę