Skocz do zawartości

Alarm get z innego obiektu


Rekomendowane odpowiedzi

Mam w grze obiekt ctr_game, który robi za taki "globalny obiekt". Odpowiedzialny jest za kody, debbuger i inne takie. W moim debugerze chcę widzieć aktualną wartość alarmu konkretnego obiektu. Jest taka funkcja alarm_get i dzięki niej mogę sprawdzić wartość konkretnego alarmu dla obiektu w którym użyta jest ta funkcja. Problem jest taki, że chcę użyć tej funkcji w moim globalnym obiekcie.

 

if (hide = true) && (instance_exists(obj_player)){
    draw_text(10,30,"hspd "+string(obj_player.hspd));
    draw_text(10,50,"vspd "+string(obj_player.vspd));
    draw_text(10,70,"grounded "+string(obj_player.grounded));
    draw_text(10,90,"shooting "+string(obj_player.shooting));
    draw_text(10,110,"alarm shooting "+string(alarm_get(0)));
}

 

W ostatniej linijce widać co chcę zrobić. Oczywiście chcę się odnieść do obiektu obj_player, tylko nie wiem jak to ugryźć :/ Mam coś kombinować z with obj_player?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
string(obj_player.alarm[0])

 

Zmienne alarmowe i tak zawsze istnieją.

 

Gdyby jednak zmienna nie istniała, odpowiedzią byłoby

var _a;
with(obj_player){_a = alarm_get(0);}
draw_text(10,110,"alarm shooting "+string(alarm_get(0)));

Zmienne tymczasowe "var" są globalne względem with, co warto pamiętać - pozostałe zmienne zmieniają oczywiście kontekst.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Trochę ze mnie debil, bo całkowicie zapomniałem, że alarm to po prostu wbudowana zmienna i mogę się do niej dostać tak samo jak do zdefiniowanych przez siebie zmiennych. Pytanie tylko teraz jest takie: po co jest to całe alarm_get? Sugerowałem się tym co jest napisane w helpie, ale teraz wychodzi, że prościej sczytywać sobie wartość bezpośrednio jak blabla = alarm[0] czy tak jak dla tego przypadku obj_player.alarm[0] Nie za bardzo widzę zastosowanie dla tego alarm_get... chyba, że to jakieś pozostałości ze starych wersji GM, gdzie inaczej się nie dało dobrać do tych wartości.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Właśnie jak zadałeś pytanie, tak samo się zastanowiłem - po cholerę to jest ? na pewno to nie pozostałość starych GMów, tego chyba wcześniej nie było - http://gamemaker.info/en/manual - musiało więc dojść w GMS.

Odnośnik do komentarza
Udostępnij na innych stronach

4 godziny temu, gnysek napisał:

Właśnie jak zadałeś pytanie, tak samo się zastanowiłem - po cholerę to jest ? na pewno to nie pozostałość starych GMów, tego chyba wcześniej nie było - http://gamemaker.info/en/manual - musiało więc dojść w GMS.

Podejrzewam, że funkcję wprowadzono, żeby początkujący mogli się lepiej z tym odnaleźć. Alarm[x] wygląda dużo mniej zrozumiale niż alarm_get() no i druga opcja nie wymaga znajomości tablic i zastanawiania się co oznacza ten kwadratowy nawias. Czy to może źle zapisana funkcja i powinien być okrągły? Wiem, to głupie i raczej nie rozwijające, ale bardzo możliwe. Innego powodu nie widzę.

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