TO_mek Opublikowano 29 Marca 2011 Udostępnij Opublikowano 29 Marca 2011 Witam! Mam 2 roomy: 1: intro/HS/menu room0 2: gra właściwa room1 W roomie mam obiekt start_obj tworzący obiekt persistent_obj w przypadku gdy on jeszcze nie istnieje. Obiekt persistent_obj ma zaznaczoną opcję persistent, posiada alarm[0] który ma ustawiać pewną zmienną która powoduje skip intra od razu do HS oraz do testow show_message('JESTEM W ALARMIE');, także posiada zmienną testową "jest:='tak'. Odpalam grę przez debugera, podglad wartości persistent_obk.jest wyświetla 'tak', wchodzę do rooma 2 czyli do gry i w debugerze persistent_obk.jest=ERROR. Wywołuję powrót do rooma nr 1 poprzez: GML persistent_obj.alarm[0]:=5; room_goto(room1); Nie pojawia się błąd, gra skacze do rooma z intrem (room0), w debugerze pojawia się ponownie zmienna persistent_obk.jest='tak', ale alarm nie zostaje wywołany. Czy tak powinien działać obiekt typu persistent? Czy może to wszystko przez to, że na roomie gry (room1) mam wywołanie instance_deactivate i obiekt persistent_obj jest nieaktywny mimo, że teoretycznie jest persistent? EDIT: OK. W sumie pisząc tego posta wpadłem sam na swój błąd i faktycznie przecież obiekty zdeaktywowane są jakby nieistniejące. Po dodaniu do powyższego kodu na początku linijki GML instance_activate_object(persistent_obj); wszystko działa tak jak powinno. Jedynie zastanawia mnie dlaczego GML nie pokazuje błędu jak wywoływałem alarm nieistniejącego a właściwie nieaktywnego obiektu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MXQ Opublikowano 30 Marca 2011 Udostępnij Opublikowano 30 Marca 2011 też nie wiem dokładnie czemu ale nigdy nie wywala błędu jeśli chodzi o alarmy nieistniejącego obiektu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 30 Marca 2011 Administratorzy Udostępnij Opublikowano 30 Marca 2011 Jeśli dezaktywujesz obiekt, to nie ma znaczenia czy jest persistent czy nie, przy zmianie rooma wszystkie nieaktywne obiekty wyrzucane są z pamięci. @MXQ: jeśli nie ma obiektu, nie ma alarmu - co w tym dziwnego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TO_mek Opublikowano 30 Marca 2011 Autor Udostępnij Opublikowano 30 Marca 2011 Jeśli dezaktywujesz obiekt, to nie ma znaczenia czy jest persistent czy nie, przy zmianie rooma wszystkie nieaktywne obiekty wyrzucane są z pamięci. @MXQ: jeśli nie ma obiektu, nie ma alarmu - co w tym dziwnego? Dziwne jest to, że w momencie wywołania alarmu dla obiektu który jest zdezaktywowany nie jest generowany błąd. Powinien być komunikat że obiektu nie ma. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 30 Marca 2011 Administratorzy Udostępnij Opublikowano 30 Marca 2011 Obiekt zawsze jest. Nie ma instancji. event_perform można wywołać bez problemu. 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ę