Skocz do zawartości

Przeszkoda i dźwignia


Huri

Rekomendowane odpowiedzi

Cześć :)

 

Napotkałem zagwozdkę i nie wiem w jaki sposób to rozwiązać. Mam dwa obiekty: obj_lever i obj_gate. Zasada jest taka. Gracz koliduje z obj_lever zmienna switched ustawia się na true i obj_gate kończy animacje i znika. Spoko, zrobiłem bez problemu. Chciałbym jednak żeby w roomie było kilka takich obiektów (obj_lever i obj_gate). Problem polega na tym, że nie mam pomysłu jak je połączyć tak żeby konkretny obj_lever otwierał konkretne obj_gate. Nie wiem ile dokładnie będzie tych obiektów w kolejnych roomach więc nie chcę tworzyć kolejnych par obiektów. Jest na to jakiś sposób?

Nie wiem, może pytanie jest bez sensu :)

 

Tu jest to co chciałbym osiągnąć. Konkretna dźwignia przypisana konkrentych drzwi (no w tym przypadku to akurat wentulacja ale w grze dziala jak drzwi :P )

 

gates.png

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki za podpowiedź. Wydaje się logiczne i myślałem właśnie w tym kierunku żeby łączyć za pomocą ID lub zmiennych. Nie wiedziałem jednak i w sumie nadal nie jestem tego pewny. Ale czy dobrze rozumiem? Gdy 'rysuje' level w room editorze to kliknięcie prawym klawiszem myszy na daną instancję (w moim przypadku obj_lever) i wybranie CREATION CODE i wpisanie tam np. przypisania zmiennej lever_id wartości 1 spowoduje, że tylko ta konkretna instancja obj_lever będzie miała tą zmienną z taką wartością a druga będzie miała wartość np. 2 (oczywiście o ile wpisze w jej kodzie lever_id=2)? To się później nie będzie mieszało z innymi instancjami obj_lever? Tzn eh... no gubie się wtym. :). Jak się odwołać do zmiennej konkretnych instancji obiektu? Pokombinuje.

 

 

 

 

 

Po id obiektu albo zrób zmienne z numerem dzwigni i drzwi (w room editorze w Creation Code). Przy kolizji sprawdź nr dźwigni i otwórz drzwi w których nr będzie taki sam ;)
Odnośnik do komentarza
Udostępnij na innych stronach

to praca z zmiennymi by dobrac sie do zmiennej instancji A z instancji B a jest chyba popisana na GM clanie

 

tak czy tak kazda instancja ma sve id, ktore movi GM ze chocaz v roomie jest 10 instancji objektu _nieprzyjaciel, to kazdy jest prezentovany svy unikalnym id.

 

dostep zatem jest

GML
// kod w instancji gracz

_id_numer=instance_create(_x,_y,o_nieprzyjacel); // gracz tworzy instancje nieprzyjaciel i zapisuje jej id do swej zmiennej _id_numer

id._zmienna=_id_numer; // gracz kopijuje _id_numer do swej zmiennej _zmienna

_id_numer._id_tworcy=id; // gracz do instancji nr _id_numer do jej zmiennej _id_tworcy kopijuje swe id (ta tak bezdie wiedziec ktora instancja jo stwrorzyla, v przypadku ze so 2 instancje o_gracz)</span>
tak mozna sie bawic jak tylko zechcesz.
Odnośnik do komentarza
Udostępnij na innych stronach

Ok chyba już wiem jak się odwołać do instancji. Tak samo jak zmienne innych obiektów tylko nazwa to musi być ID w nawiasie (id).zmienna.

EDIT:

W momencie gdy w roomie mam dwa obj_lever i jeden z nich ma creation code to nie wykonuje żadnych rzeczy, ktore obj_lever powinien robić (zmiana wartosci switched). Przechowuje tylko zmienna lever_id :(

EDIT2:

Poradziłem sobie z powyższym. Miałem źle napisaną kolizję z obj_lever ;). Teraz każda z dźwigni (obj_lever) przełącza się osobno :)))

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