Mario Opublikowano 9 Stycznia 2005 Udostępnij Opublikowano 9 Stycznia 2005 Mam pytanie: Jak zrobić żeby przeciwnik pojawił się w losowym miejscu na planszy ale żeby też nie pojawiał się na innym obiekcie... ? :huh: Serdecznie dziękuję za odpowiedź :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SLy Opublikowano 9 Stycznia 2005 Udostępnij Opublikowano 9 Stycznia 2005 place_free(x,y) Returns whether the instance placed at position(x,y) is collision-free. This is typically used as a check before actually moving to the new position. Użyj tego, żeby sprawdzić czy miejsce, w którym ma się pojawić przeciwnik jest "wolne/puste". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidsu Opublikowano 12 Stycznia 2005 Udostępnij Opublikowano 12 Stycznia 2005 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 Więcej opcji udostępniania...
Tymon Opublikowano 14 Stycznia 2005 Udostępnij Opublikowano 14 Stycznia 2005 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 Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 14 Stycznia 2005 Filar Społeczności Udostępnij Opublikowano 14 Stycznia 2005 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 Więcej opcji udostępniania...
Tymon Opublikowano 15 Stycznia 2005 Udostępnij Opublikowano 15 Stycznia 2005 Kłaniać sie nie kłania. Ale żeczywiście nie pomyślałem nad takim spaosobem. To mi przyszło do głowy to napisałem :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mario Opublikowano 15 Stycznia 2005 Autor Udostępnij Opublikowano 15 Stycznia 2005 MMM... To działa... Jedno i drugi już nie mam z tym problemu... :o Dzięki :] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Quetzacotl Opublikowano 22 Stycznia 2005 Udostępnij Opublikowano 22 Stycznia 2005 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 Więcej opcji udostępniania...
Tymon Opublikowano 23 Stycznia 2005 Udostępnij Opublikowano 23 Stycznia 2005 Nie wiem czy myśle o tym co ty ale spróbuj tak : if jakaś_zmienna>=10 if jakaś_zmienna<=15 { Co ma sie dziać jak warunek będzie spełniony } W ten sposób ustawiłem przedział od 10 do 15 włącznie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SLy Opublikowano 24 Stycznia 2005 Udostępnij Opublikowano 24 Stycznia 2005 Ja bym to połączył: if jakaś_zmienna>=10 and jakaś_zmienna<=15 { Co ma sie dziać jak warunek będzie spełniony } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Quetzacotl Opublikowano 24 Stycznia 2005 Udostępnij Opublikowano 24 Stycznia 2005 Ale działa to z place_free(x,y) ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 27 Stycznia 2005 Udostępnij Opublikowano 27 Stycznia 2005 Działać będzie ale zależy jaki efekt chcesz uzyskać :) . Ja nie wiem do dokładnie o co ci chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SLy Opublikowano 27 Stycznia 2005 Udostępnij Opublikowano 27 Stycznia 2005 Ale działa to z place_free(x,y) ? heh, a czemu miałoby nie działać? :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Quetzacotl Opublikowano 27 Stycznia 2005 Udostępnij Opublikowano 27 Stycznia 2005 pytam sie na wszelki wypadek :P z doświadczeń wiem , że coś co wydaje się oczywiste w rzeczywistości nie sprawdza sie:P 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ę