Skocz do zawartości

Jesli obiekt znajduje sie w roomie


OriPL

Rekomendowane odpowiedzi

Witam ponownie tym razem potrzebuje kodu takego ze jesli obj_player1 znajduje sie w roomie to funkcja ma dzialac... tzn podam wam kod i powiem gdzie co musi byc:D

tutaj musi byc ten warunek... jesli obj_player1 znajduje sie w roomie to funkcja jest dostepna...

if obj_player1.y + obj_player1.sprite_height < y { solid = true; }
if obj_player1.y > y-sprite_height { solid = false; }

i tutaj to samo ... jesli obj_player2 znajduje sie w roomie to funkcja jest dostepna...

if obj_player2.y + obj_player2.sprite_height < y { solid = true; }
if obj_player2.y > y-sprite_height { solid = false; }

 

napiszcie plz jak to trzeba zrobic....

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if (!instance_exists(obj_player))

if obj_player1.y + obj_player1.sprite_height < y { solid = true; }

if obj_player1.y > y-sprite_height { solid = false; }

 

if (!instance_exists(obj_player2))

 

if obj_player2.y + obj_player2.sprite_height < y { solid = true; }

if obj_player2.y > y-sprite_height { solid = false; }

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Grela, ja nic nie mówię, ale w twoim kodzie tylko są dwa ify, które się wykonają bez względu na to czy istnieją te obiekty czy nie. Jeśli już nawet to tak:

GML
if instance_exists(obj_player1)

{

if obj_player1.y+obj_player1.sprite_height < y { solid = true; }

if obj_player1.y > y-sprite_height { solid = false; }

}

 

if instance_exists(obj_player2)

{

if obj_player2.y+obj_player2.sprite_height < y { solid = true; }

if obj_player2.y > y-sprite_height { solid = false; }

}

Aczkolwiek zaznaczam, że to porpawna wersja kodu Greli, bo nad tematem nie chce mi się myśleć :P Właśnie sobie strzeliłem nieco %% :P

Odnośnik do komentarza
Udostępnij na innych stronach

fake! nie było pytania czy obiekt istnieje... było:

jeśli obj_player1 znajduje sie w roomie

instance_exists sprawdza czy obiekt ogólnie istnieje. Przypominam, że można tworzyć i poruszać obiekty poza roomem np na ujemnych wartościach - wtedy obiekt nie znajduję się w roomie.

 

powinno być:

GML
instance = obj_player1

if ( instance.x > 0 && instance.x < room_width && instance.y > 0 && instance.y < room_height )

{

}

 

;)

 

poza tym radził bym pomiędzy warunkami powciskać else

a co jak będzie taka sytuacja jak w roomie znajdą się te 2 obiekty ? gm zgłupieje...

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