ZyperPL Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 Okey, cześć i od razu proszę o pomoc. Chciałem pobawić się silnikiem fizycznym Extreme Physics i stworzyłem małą gierkę. Więc tak: Mam obiekt ctrl, który tworzy zmienną global.world. Obiekty box powinny odczytywać tą zmienną ale tak się nie dzieje. Nie wiem w czym leży problem. Wszystko działało od razu po zrobieniu obiektu ctrl, a po kilku uruchomieniach gry wszystko się popsuło. Gdy zrobię ten obiekt na nowo, to za którymś razem znowu wszystko jest OK, ale po chwili znowu się psuje :( ___________________________________________ ERROR in action number 1 of Create Event for object box: Error in code at line 1: body = ep_body_create_dynamic(global.world,false); ^ at position 38: Unknown variable world Wyskakuje mi takie coś, gdy klikam ignore to nic nie pomaga. Błąd nadal wyskakuje, a obiekty nie działają :( Nie wiem czy to jakiś błąd Game Makera, czy coś robię źle. Używam GameMakera 8 Pro.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 Zgaduję, ale wykasuj wszystkie boxy, postaw CTRL i od nowa postaw boxy :) Bo pierwsze postawiłeś boxy, i najpierw dla nich wykonuje się kod. E: Albo deklaracje zmiennej daj w GAME STARt Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 12 Lipca 2011 Autor Udostępnij Opublikowano 12 Lipca 2011 Nie nie nie. Nie działa. Kody obu obiektów wykonują się w Create. Gdy ustawiam w Game Start, albo w innej kolejności wkładam do rooma, nie pomaga :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 a objekt ctrl na pewno tworzy taką zmienna w create? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 12 Lipca 2011 Autor Udostępnij Opublikowano 12 Lipca 2011 GML global.world = ep_world_create(); Więc raczej tak. Gdyby tak nie było to bym zauważył. Poza tym czasami wszystko działa ok, a dopiero po chwili i którymś tam uruchomieniu gry wszystko się psuje :( Bardzo dziwny błąd. Na prawdę. Jakby co to pytajcie o wszystko, nie mam pojęcia w czym leży problem :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 Dodaj to ep_world_destroy(global.world); do eventa room end Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 12 Lipca 2011 Autor Udostępnij Opublikowano 12 Lipca 2011 Mam tak zrobione :| Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 Wyślij mi exe zobaczę czy mi się tak też dzieje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 12 Lipca 2011 Autor Udostępnij Opublikowano 12 Lipca 2011 Za dużo z tym roboty. Może ktoś inny ma jakieś pomysły? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 Narysuj gdzieś ID wszystkich tych obiektow i sprawdz czy to CTRL'a jest najmniejsze, to nie może być coś innego. E: Albo zamiast create bloxów daj alarm=1 i w alarmie daj to create i zobacz czy działa :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 12 Lipca 2011 Autor Udostępnij Opublikowano 12 Lipca 2011 No więc tak. W jednym roomie 'ctrl' ma id mniejsze od boxów, a w drugim odwrotnie. W obu roomach wyskakuje mi błąd, więc... Wrzucam jednak to exe: http://www.speedyshare.com/files/29396963/ns1TESTbyZyper.exe Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 W objekt box przekopiuj wszystko z create do alarm[0] i z create go wywołaj(alarm[0]=1). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 12 Lipca 2011 Autor Udostępnij Opublikowano 12 Lipca 2011 Dzięki. Niby działa. Tylko teraz, gdy po raz pierwszy włączam grę, to nic nie działa (tzn. błąd nie wyskakuje, tylko obiekty nie działają tak jak powinny, jeden obiekt box ma pozycję myszki) i dopiero gdy zrobię room_restart(); wszysciutko działa jak należy. Mógłbyś może wytłumaczyć w czym leżał problem i dlaczego opóźnienie pomogło? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 Prawdopodobnie obiekt ctrl nie nadążał z tworzeniem zmiennej global.world Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 12 Lipca 2011 Autor Udostępnij Opublikowano 12 Lipca 2011 A jak naprawić to, że zawsze na początku gry, wszystko jest popsute, tak jakby obiektu ctrl nie było. Jednak obiekty box oddziałowują na siebie i dopiero po restarcie wszystko działa? :S Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 12 Lipca 2011 Udostępnij Opublikowano 12 Lipca 2011 zresetuj w alarmie ^^ Te funkcje ep_body coś tam pewnie były za wolne, a o tym alarmie pisałem parę postów temu ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 12 Lipca 2011 Autor Udostępnij Opublikowano 12 Lipca 2011 Dobra, dziękuję wszystkim za pomoc. Jakby co, to trzeba uważać na GML ep_world_set_sleeping Pozdrawiam i zamykam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi