Skocz do zawartości

Kolejne bardzo n00bowe pytanie


Odin

Rekomendowane odpowiedzi

Ostatnio miałem długą przerwe z GM ale teraz mam troche więcej czasu a ponieważ nic ciekawego nie ma do roboty postanowilem sie znów troche pobawić. Chcialem zrobić gierke, która byłaby czymś w rodzaju klona Crasha Bandicoota [ mam nadzieje, że wszyscy znają :) ]. Zakładając, ze gra miała by być identyczna [ oczywiście taka ma nie być ale usalmy teraz, że tak ], po krótkiej analizie doszlem do wniosku, że jeden problem z pewnościa nie rozwiąze. Mianowicie - jak zrobić aby np. kryształ zebrany w jednym roomie pokazywał się w innym [ czy tam w jakiś inny sposób zebranie go wpływało na inny room ]. Oczywiście wiem [ mam nadzieje :) ], że trzeba tu użyć zmiennych globalnych. I tu problem, gdyż moja znajomość GM zawsze zamykała się raczej w podstawach, a z globalami jakoś nigdy się nie bawiłem. Czytałem 'Help' w GM ale za wiele się z niego raczej nie dowiedziałem. Więc mam nadzieje, że ktoś ziewając mi pomoże, z tym przykładem. Z góry dzięki

Odnośnik do komentarza
Udostępnij na innych stronach

wiem, ze jestem ciemny ale mi cos to nie dziala :/

robie dwa sprity - niby postac i niby krysztal

pod obiekt krysztalu daje po create w code global.krysztall=0

w tym samym obiekcie pod delete daje w code global.krysztall=1

w postaci daje na enter zmiane poziomu a na spacje usuniecie krysztalu

tworze 3 obiekt w ktorym pod create daje w code if global.krysztall=1 {

draw_sprite(krysztal,0,x,y)

}

umieszczam postac i krysztal w pierwszym roomie a w drugim ten trzeci obiekt.

I niestety efektu zadnego nie widac. Jak oczywiscie mam rozumiec, że nie można operować globalnymi zmiennymi za pomoca klocówk...

 

[EDIT] Sprawdzilem, w debugmode podglad globalnych zmiennych i niby wszystko jest poprawnie [ zmienia sie ] ale nie widac efektu w nastepnym roomie. Co znow spierniczyłem ? :)

Odnośnik do komentarza
Udostępnij na innych stronach

a no widzisz bo jesli w drugim roomie tez jest krysztal to za sprawom kodu w create

global.krysztal=0

krysztaly sie zerują

Masz dwa sposoby na naprawienie problemu:

1. Cod global.krysztal=0 dac do odzdzielnego objectu ktory będzie np. w menu gry

2. W roomach tych zaznaczach opcje presitent

Odnośnik do komentarza
Udostępnij na innych stronach

oczywiście, że nie mam krysztalu takze w drugim roomie - tyle, że zmienna by wrocilaby do '0' wiem. W dodatku jest odwolanie od samego sprita [ gdyby bylo do obiekty zrobilbym inaczej ]. Po zaznaczeniu persistent nic sie nie zmienilo

 

edit: ok, poszlem po troche oliwy do glowy i poradzilem sobie. Mam nadzieje, ze juz nie bedzie problemow - jakby co znow sie odezwe [ i tak to pewnie nic nie obchodzi ale... :) ]

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