Skocz do zawartości

Aktywowanie i deaktywowanie obiektów poza ekranem


Rekomendowane odpowiedzi

Witam. Już troszkę porobiłem ze znajomym prac na GM pod względem gry typowego top down shooter. Mamy działający mechanizm, który i tak pewnie jeszcze przebudujemy bo np nie opiera się on na fizyce ale to szczegół. Jest otóż taki element że rozwalając przeciwników i przedmioty, tworzą się inne obiekty, które pozostają na podłodze tworząc fajne pobojowisko. Wiadomo jednak że bedą po pewnym czasie zamulać całość, więc mam dwa pomysły. Jeden, prosty czyli dać alarm i niszczenie obiektu po pewnym czasie ale nie jest to wizualnie zbyt ładne (przydało by się tu albo dodac jakiś soft zanikanie obiektu ale nie wiem jak). Drugi motyw to deaktywacja obiektów poza widokiem i ponowna ich aktywacja gdy się do nich zbliżymy na rozdzielczość ekranu.

 

Znalazłem taki oto kod:

 

{

instance_activate_all();

instance_deactivate_region(view_xview[0],view_yview[0],

view_wview[0],view_hview[0],false,true);

}

 

 

Który rzecz jasna po pewnej modyfikacji i wklejeniu do eventu step do postaci sprawia że obiekty zachowują się tak jak chcę. Problem polega jednak na tym ze to wpływa na WSZYTSKIE obiekty w tym respawny i hud. Pytanie jest proste ale pewnie odpowiedź juz nie :). Jak wprowadzić WYJĄTKI do tego kodu? Jak zrobić by działało to na wszystkie obiekty POZA i tu lista :). Będę wdzięczny za pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

Jak najbardziej możesz dodawać "wyjątki". Jeżeli coś dezaktywujesz i aktywujesz w jednym step to obiekt nie przestanie być aktywny nawet na moment.

 

GML
instance_activate_all();

instance_deactivate_region(view_xview[0],view_yview[0],

view_wview[0],view_hview[0],false,true);

instance_activate_object(WYJĄTEK);

Odnośnik do komentarza
Udostępnij na innych stronach

Jak najbardziej możesz dodawać "wyjątki". Jeżeli coś dezaktywujesz i aktywujesz w jednym step to obiekt nie przestanie być aktywny nawet na moment.

 

GML
instance_activate_all();

instance_deactivate_region(view_xview[0],view_yview[0],

view_wview[0],view_hview[0],false,true);

instance_activate_object(WYJĄTEK);

 

W najbliższym czasie to sprawdzę. Dziękuję za szybką i precyzyjną odpowiedź :).

 

Edit: heh działa, dzięki, ale trzeba za każdym razem osobno wprowadzać każdy wyjątek bo przeicnek w nawiasie nie pasuje :P. Ale też jest motyw ze mimo to gra po pewnym czasie zwalnia od nadmiaru obiektów. Jest na to jakieś rozwiązanie? Chciałbym zrobić coś jak w Crimsonland :P.

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ę...