Skocz do zawartości

instance_place zwraca -4


Danieo

Rekomendowane odpowiedzi

Witajcie!

Mój problem już w sumie opisałem w tytule, czyli instance_place() zwraca -4. Mam sobie obiekt tile który jest rodzicem dla dwóch innych obiektów virus i firewall. W tile mam kod odpalany po naciśnięciu na ten obiekt lewego przycisku myszy i ten kod jest dziedziczony przez virus i firewall. Kod ma za zadanie zmienić obiekt i jego sąsiednie obiekty na inne obiekty. W tym celu używam instance_place by pobrać sąsiadów od tile, który został kliknięty. Problem jest taki, że nie zwraca mi ID obiektu tylko -4. Obiekty virus i firewall mają rozmiar 60x60 i automatyczną maskę. Obiektowi tile też utworzyłem przeźroczysty sprite aby miał maskę, ale dalej zwracane jest -4.

To -4 wydaje mi się, że otrzymuje, ponieważ "nie ma żadnej instancji na danej pozycji", ale pewny nie jestem.

Oto kod:

GML
//Toggle self

instance_destroy();

 

if(object_index == firewall)

instance_create(x, y, virus);

else

instance_create(x, y, firewall);

 

//Toggle left

var neighbour = instance_place(x-2, y, tile);

show_debug_message("x:"+string(x)+"y:"+string(y));

if(neighbour != noone)

{

with(neighbour)

{

instance_destroy();

 

if(object_index == firewall)

instance_create(x, y, virus);

else

instance_create(x, y, firewall);

}

}

show_debug_message(neighbour);

 

Gra to "lights off", które robią na bazie tego tutoriala http://www.yoyogames.com/blog/386 w ramach przypomnienia sobie GMa.

Odnośnik do komentarza
Udostępnij na innych stronach

-4 to stała " noone ", więc tak, nikogo nie wykrywa.

 

Edit: Tile nie musi mieć sprite, maski ani nawet istniec w roomie aby go uzywac jako parenta.

 

Natomiast, instance_place porównuje maske docelowych instancji z maską instancji która wykonuje kod, spróbuj instance_position

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