Temporal Opublikowano 5 Lutego 2019 Udostępnij Opublikowano 5 Lutego 2019 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 Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Lutego 2019 Administratorzy Udostępnij Opublikowano 5 Lutego 2019 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. Temporal 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Temporal Opublikowano 5 Lutego 2019 Autor Udostępnij Opublikowano 5 Lutego 2019 tam w ostatniej linijce nie powinno być: draw_text(10,110, "alarm shooting" +string(a); zamiast var _a; with(obj_player){_a = alarm_get(0);} draw_text(10,110,"alarm shooting "+string(alarm_get(0))); ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Lutego 2019 Administratorzy Udostępnij Opublikowano 5 Lutego 2019 Powinno, poprawiłem Skopiowałem z linijki wyżej bo na szybko pisałem. Temporal 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Temporal Opublikowano 5 Lutego 2019 Autor Udostępnij Opublikowano 5 Lutego 2019 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 Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 6 Lutego 2019 Administratorzy Udostępnij Opublikowano 6 Lutego 2019 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. Temporal 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 6 Lutego 2019 Udostępnij Opublikowano 6 Lutego 2019 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 Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 6 Lutego 2019 Administratorzy Udostępnij Opublikowano 6 Lutego 2019 Może być tak, że planowali usunąć w GMS2 alarmy właśnie w formie tablic (przez to, że nie możesz zrobić 100 alarmów, co sugerowałaby notacja tablicowa). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę