Odin Opublikowano 22 Marca 2005 Udostępnij Opublikowano 22 Marca 2005 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 Więcej opcji udostępniania...
Marmot Opublikowano 22 Marca 2005 Udostępnij Opublikowano 22 Marca 2005 To jest tak. Normalnie: global.krysztal=0 Po zdobyciu kryształu: global.krysztal=1 Wyświetlenie obrazka w inwentarzu: if global.krysztal=1 { draw_sprite(krysztal,0,x,y) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Odin Opublikowano 22 Marca 2005 Autor Udostępnij Opublikowano 22 Marca 2005 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 Więcej opcji udostępniania...
bigshark Opublikowano 22 Marca 2005 Udostępnij Opublikowano 22 Marca 2005 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 Więcej opcji udostępniania...
Odin Opublikowano 22 Marca 2005 Autor Udostępnij Opublikowano 22 Marca 2005 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 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ę