Dawka83 Opublikowano 8 Maja 2011 Opublikowano 8 Maja 2011 Witam mam taki kod: GML do { pos_x = random(room_width-16) pos_y = random(room_height-16) width = 2+irandom(5) height = 2+irandom(5) } until(collision_rectangle(pos_x-16,pos_y-16,pos_x+((width+1)*16),pos_y+((height+1)*16),all,1,1) = false) Nie wiem czemu ale zawiesza mi kod gry. Pewnie dlatego że pętla wykonuje się ciągle tylko nie wiem dlaczego... Ma ktoś jakiś pomysł?
Dawka83 Opublikowano 8 Maja 2011 Autor Opublikowano 8 Maja 2011 Nie raczej nie... Choć sprawdzę i zrobię tylko 1 obj na pustej planszy :) Edit: Przy repeat(1) też się zwiesz...
Platyna Opublikowano 8 Maja 2011 Opublikowano 8 Maja 2011 Bo kolizja nie zachodzi? EDIT: baca, odwrotnie.
PsichiX Opublikowano 8 Maja 2011 Opublikowano 8 Maja 2011 podziel mape na siatke kafli i losuj kafle a potem w nich losuj randomowa pozycje i sprawdzaj kolizje, przy czym z kazdym krokiem nowym pomijaj kafle juz sprawdzone. ewentualnie daj maksymalna liczbe cykli petli, po ktorej zostanie opuszczona
Dawka83 Opublikowano 8 Maja 2011 Autor Opublikowano 8 Maja 2011 ,all,1,1) = false Ja własnie chcę by nie zachodziła :P Faktycznie w polskiej dokumentacji jest zle napisane. Thx platyna :*
Platyna Opublikowano 8 Maja 2011 Opublikowano 8 Maja 2011 Ja własnie chcę by nie zachodziła tongue2.gif Lol, no właśnie. A jak dasz false na końcu to Ci będzie wykonywało dopóki nie znajdzie kolizji. Wywal to false... EDIT: No problemo.
Makary155 Opublikowano 8 Maja 2011 Opublikowano 8 Maja 2011 nie rozumiem w jakim celu użyłeś tu do...until. Przecież danie if collision_rectangle w step da to samo, a nie zwiesi gry. Chyba że to w create jest.
Platyna Opublikowano 8 Maja 2011 Opublikowano 8 Maja 2011 nie rozumiem w jakim celu użyłeś tu do...until. Przecież danie if collision_rectangle w step da to samo, a nie zwiesi gry. Chyba że to w create jest. Czy ty rozumisz czym jest pętla? O.o
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ę