Skocz do zawartości

Dezaktywacja konkretnych objektów


Rekomendowane odpowiedzi

Witam:) Ponieważ w roomie jest dużo obiektów chciałbym dezaktywować niektóre aby gra lepiej chodziła. I tu mam problem ponieważ chcę dezaktywować poza viewem niektóre elementy a nie wszystkie. Np: Obiekt obj_sciana gdy jest poza view[0] jest dezaktywowany, jeśli nie pojawia się. Czy mógłby mi ktoś pomóc?

Pozdrawiam

Adam

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

w step:

 

GML
instance_activate_all();

instance_deactivate_region(-200+view_xview[0],-200+view_yview[0],view_wview[0] + 200,view_hview[0] + 400,false,true);

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
Działa ale nie tak jak chciałem:)Dezaktywuje wszystkie obiekty poza viewem a ja chcę dezaktywować poza view tylko obj_sciana.

Zrób pętlę po wszystkich instancjach obiektu obj_sciana, sprawdza pozycje i wtedy deaktywuj.

 

Albo daj w step sciany

if( poza )

{

a = instance_nearest( x,y,obj_sciana );

instance_deactivate_object( a );

}

cos takiego chyba

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

A robisz:

Albo daj w step sciany

GML
if( poza )

{

a = instance_nearest( x,y,obj_sciana );

instance_deactivate_object( a );

}

cos takiego chyba

?

może dajesz złe warunki na sprawdzenie czy ma pozycje poza ekranem?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

if( ( x < view_xview[0] or x > view_xview[0] + <szerokosc viewa, nie pamietam jak to bylo> ) or i tu to samo dla y )

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
Mam tak:

GML
if(( x < view_xview[0] or x > view_xview[0] + view_yview[0] ) or ( y < view_yview[0] or y > view_yview[0] + view_xview[0] ) )

{

a = instance_nearest( x,y,obj_sciana );

instance_deactivate_object( a );

}

Ściany pojawiają się i odrazu znikają.

Co to ma być za warunek, napisałem ci co tam masz wpisać, nie pozycje na osi y viewa tylko jego szerokość a później wysokość.

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz ściany znikają od prawej strony po kolei.

Działa :jezor:

GML
if ((x < view_xview[0] or x > view_xview[0] + view_wview[0]) or (y < view_yview[0] or y > view_yview[0] + view_hview[0]))

{

a = instance_nearest( x,y,obj_sciana );

instance_deactivate_object( a );

}

Tylko jak ściana zniknie to już się ni pojawia.

EDIT: Dzięki wszystkim już wszytko działa:)

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