Skocz do zawartości

Losowe pojawianie się przeciwników na planszy


Mario

Rekomendowane odpowiedzi

Ja kiedyś coś takiego napisałem

do
{place_x=random(room_width);
place_y=random(room_height);}
until place_free(place_x,place_y);

if  place_free(place_x,place_y)
then{x=place_x; y=place_y;
move_snap(32,32);}

 

Mistrzem w kodzie nie jestem, ale działa. Możliwe, że trochę jest niepotrzebnych części, ale boję się coś usuwać, bo jeszcze przestanie działać i co będzie. :)

 

Aha! place_x i place_y to nie są funkce Game Makera! To zmienne wprowadzone przeze mnie. ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Powiedzmy że masz dwa obiekty. Pierwszy to przeciwnik a drugi to generator przeciwników. Stawiasz kilka generatorów na planszy a potem dajesz przeciwnikowi żeby przy stworzeniu pojawił się na którymś z generatorów :D . Musisz tylko zapobiec aby przeciwnik nie pojawił się jednocześnie dwa razy w jednym generatorze. Ustaw może jeszcze aby przeciwnik pojawiał się w jakiejś odległości od generatora. Wydaje mi sie że nie jest to najlepszy sposób ale lepiej tak niż wogule :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Jak ktoś pisze o generatorach, to mam wrażenie jakbym siedział na forum tgf'a. ;) Generatory to niepotrzebne obiekty. Jak juz Dawidsu napisal, to wystarczy:

do //Pętla typu "do" wykonuje akcje w klamrach dopóki przy until jest "false" (fałsz)
{
x = random(room_width); // losuj pozycje x od 0 do szerokosci planszy
y = random(room_height); // losuj pozycje y od 0 do wysokosci planszy
}
until place_free(x,y); //Powtarzaj az pozycja bedzie wolna

GML się kłania. ;)

Odnośnik do komentarza
Udostępnij na innych stronach

a ja mam przy okazji takie pytanie, co jeśli obiekt ma 32x32 wymiary, i przypuscmy skrypt sprawdzi miejsce 10 pikseli na lewo od jakiegos obiektu, bedzie ono wolne, ale jednak jak wstawi tam obiekt to zaczepi sie on o ten po lewej... sposobem na to by byly przedzialy, ale jak sie w GML deklaruje przedzialy liczbowe?

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...