Mosiek Opublikowano 13 Sierpnia 2009 Udostępnij Opublikowano 13 Sierpnia 2009 Witam mam znowu problem z moim menu... i to znowu z drawem zrobiłem już żeby robił kwadrat jak nacisnę esc ale jak wyłącze menu i szybko włącze to mi nie robi kwadratu mój kod w stepie: GML if keyboard_check_pressed(vk_escape) then { if global.paused == 0 then game_pause(); instance_create(view_xview+310,view_yview+230,obj_menu2) } if global.paused > 0 && global.paused <= room_speed then global.paused -= 1; mój kod w drawie: GML if global.paused ==room_speed+1 { draw_set_alpha( 0.7 ); draw_set_color(c_dkgray) draw_rectangle( view_xview+300, view_yview+120, view_xview+400, view_yview+320, false ); draw_set_alpha( 1 ); } UWAGA!!: próbowałem usuwać ==room_speed+1 ale wtedy robi kwadrat zawsze jak esc nacisnę ale z opóźnieniem niszczy kwadrat czy ktoś wie jak mi pomóc?? z góry dziękuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 13 Sierpnia 2009 Udostępnij Opublikowano 13 Sierpnia 2009 Po 1: GML if keyboard_check_pressed(vk_escape) then { po co Ci then skoro używasz nawiasów klamrowych? Po 2. czym jest funkcja game_pause()? Po 3. Nie wiem kiedy zmienna paused osiaga wartosc room_speed+1 (ja tu tylko widze zmniejszanie jej kiedy jest <=room_speed && > 0) Nie wiemy wiec kiedy ma sie to drawowac wiec chybanie mozemy Ci pomoc. Po 4: GML if global.paused == 0 then game_pause(); instance_create(view_xview+310,view_yview+230,obj_menu2) Jestes świadom że obj_menu2 tworzy sie niezaleznie od tego czy gra zostala zatrzymana czy nie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mosiek Opublikowano 13 Sierpnia 2009 Autor Udostępnij Opublikowano 13 Sierpnia 2009 Po 1: GML if keyboard_check_pressed(vk_escape) then { po co Ci then skoro używasz nawiasów klamrowych? ok then usunę Po 2. czym jest funkcja game_pause()? jest to skrypt na zatrzymywanie wszystkich obiektów na mapie Po 3. Nie wiem kiedy zmienna paused osiaga wartosc room_speed+1 (ja tu tylko widze zmniejszanie jej kiedy jest <=room_speed && > 0) Nie wiemy wiec kiedy ma sie to drawowac wiec chybanie mozemy Ci pomoc. no tak a jak usunąłem z drawu room_speed+1 to drawował się dobrze ale usuwał się z opóźnieniem czy na to masz jakąś rade? Po 4: GML if global.paused == 0 then game_pause(); instance_create(view_xview+310,view_yview+230,obj_menu2) Jestes świadom że obj_menu2 tworzy sie niezaleznie od tego czy gra zostala zatrzymana czy nie? nie :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 13 Sierpnia 2009 Udostępnij Opublikowano 13 Sierpnia 2009 GML if keyboard_check_pressed(vk_escape) then { if global.paused == 0 then game_pause(); // game_pause() wykona się jesli global.paused==0; instance_create(view_xview+310,view_yview+230,obj_menu2) // to sie wykona gdy nacisniesz ESC niezaleznie od tego czy wykonalo sie game_pause(); używaj nawiasów klamrowych } czyli cos takiego GML if( keyboard_check_pressed(vk_escape) ) { if( global.paused == 0 ) { game_pause(); instance_create(view_xview+310,view_yview+230,obj_menu2); } } No chyba że chcesz aby menu sie tworzylo tez bez zatrzymywania gry, wtedy masz dobrze ;p pokaż kod na zatrzymanie sie wszystkich obiektow Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mosiek Opublikowano 13 Sierpnia 2009 Autor Udostępnij Opublikowano 13 Sierpnia 2009 GML with (monster) { ospeed = spd; spd = 0; oalarm0 = alarm[0]; alarm[0] = -1; oalarm1 = alarm[1]; alarm[1] = -1; oalarm2 = alarm[2]; alarm[2] = -1; } with (postac) { oalarm0 = alarm[0]; alarm[0] = -1; oalarm1 = alarm[1]; alarm[1] = -1; } with (postac2) { oalarm1 = alarm[1]; alarm[1] = -1; } global.paused = room_speed+1; /* tu mozesz dac kod na tworzenie menu */ Skrypt na pause GML //przykladowy obiekt with (monster) { spd = ospeed; alarm[0] = oalarm0; alarm[1] = oalarm1; alarm[2] = oalarm2; } with (postac) { alarm[0] = oalarm0; alarm[1] = oalarm1; } with (postac2) { alarm[1] = oalarm1; } global.paused = room_speed; /* tu mozesz dac kod na usuwanie menu */ Skrypt na unpause EDIT: wykorzystałem ten twój kod i działa wszystko bo autor pauzy ustawił możliwość naciśnięcia Esc co sekundę i menu się tworzyło od razu a kwadrat bo miał ustawione opóźnienie się nie tworzył dzięki :PP Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi