RaV Royal Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 Siemka, tym razem problem tkwi w menu. Chcę, aby op naciśnięciu klawisza Shift ukazał się obj_menu, a po ponownym naciśnięciu klawisza Shift obiekt ten zniknął... Pierwszą częśc, tj. pojawienie się menu zrobiłem, lecz nie wiem jak wykonać tą drugą... HELP :weight_lift: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 to zależy jak zrobiłeś, jeśli za pomocą room_goto, to masz to zrobić, ale do innego roomu, jeśli za pomocą instance_create (czy jakoś tak) to zrób instance_destroy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 GML if keyboard_check(vk_shift) { if wcisniety=0; { instance_create(x,y,obj_menu); wcisniety=1; } else { instance_deactivate_object(obj_menu); wcisniety=0; } } Nie jestem pewien czy działa. O.o powyższego postu nie było. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shockah Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 GML if keyboard_check_pressed(vk_shift) { if wcisniety=0; { instance_create(x,y,obj_menu); wcisniety=1; } else { with (obj_menu) instance_destroy(); wcisniety=0; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 A ja się z wami nie muszę zgadzać i może być takie coś o.O GML if shift=0 { shift=1 room_goto(menu) } else { room_goto(brakmenu) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 Buu! GML if (keyboard_check_pressed(vk_shift)) if (menu) menu = false else menu = true if (menu){ instance_create(0,0,obj_menu) } else { if (instance_exists(obj_menu)) with(obj_menu)instance_destroy() } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 GML if( keyboard_check_pressed( vk_shift ) ) { menu.visible = !menu.visible; } Hehe. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 Tymon, twój skrypt chyba odnosi się do show_menu() a autor potrzebuje obiektu ;p. @Marek.S. - ładnie skróciłeś, mniej pamięci zeżre. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 Nie, odnosi się do rysowania obiektu. Po za tym: GML if( keyboard_check_pressed( vk_shift ) ) { if( instance_exists( menu ) ) { with( menu ) { instance_destroy(); } } else { instance_create( 0, 0, menu ); } } Jeśli potrzebujecie aż niszczenia i tworzenia obiektu do zrobienia głupiego menu. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 13 Marca 2008 Autor Udostępnij Opublikowano 13 Marca 2008 Tylko 1 sprawa. Nie wiem, dlaczego po przejściu z roomu początkowego do roomu Town ekran gry zmniejsza się do mniej więcej 2x8 i na początku miga zielone okienko, a potem nic... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 13 Marca 2008 Autor Udostępnij Opublikowano 13 Marca 2008 Z tym co napisałem powyżej już nie ma problemu... Tylko jak zrobić, żeby po wyświetleniu obj_menu Gracz nie mógł się ruszać i żeby nie "wchodził" na ten obiekt??? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 13 Marca 2008 Udostępnij Opublikowano 13 Marca 2008 Udowodnię, że Tymon zawsze podaje najlepsze rozwiązanie :P GML //step obj_menu: if( keyboard_check_pressed( vk_shift ) ) visible = !visible // step obiektów blokowanych: if ( obj_menu.visible ) exit // to musi się znajdować w pierwszym wersie eventu! /* dalsza część kodu =P */ z tym, że obiekt cały czas(od początku) musi być umieszczony w roomie ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 14 Marca 2008 Autor Udostępnij Opublikowano 14 Marca 2008 Dobra, menu już mam wstawione, ale jaki będzie kod, który zablokuje ruszanie sie gracza??? Chodzi mi tylko o kod do tej sprawy... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 Czytać nie umiesz?! <_< GML // step obiektów blokowanych: if ( obj_menu.visible ) exit // to musi się znajdować w pierwszym wersie eventu! /* dalsza część kodu =P */ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 14 Marca 2008 Autor Udostępnij Opublikowano 14 Marca 2008 Może cię to zdziwi, ale umiem :P To może powiesz mi co ma być w tej "dalszej części kodu"?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 poruszanie się gracza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 14 Marca 2008 Autor Udostępnij Opublikowano 14 Marca 2008 Tylko, że chodzenie mam zrobione tym sposobem... :P: GML if (keyboard_check(vk_left)) { if (pocz=4) && (image_xscale=-1) && (place_free(x-32,y)) mx -= 32; pocz = 4; kon = 7; image_xscale = -1; if (image_index<pocz) || (image_index>kon+1-szybkosc) image_index = pocz; } else if (keyboard_check(vk_right)) { if (pocz=4) && (image_xscale=1) && (place_free(x+32,y)) mx += 32; pocz = 4; kon = 7; image_xscale = 1; if (image_index<pocz) || (image_index>kon+1-szybkosc) image_index = pocz; } else if (keyboard_check(vk_up)) { if (pocz=8) && (place_free(x,y-32)) my -= 32; pocz = 8; kon = 11; image_xscale = 1; if (image_index<pocz) || (image_index>kon+1-szybkosc) image_index = pocz; } else if (keyboard_check(vk_down)) { if (pocz=0) && (place_free(x,y+32)) my += 32; pocz = 0; kon = 3; image_xscale = 1; if (image_index<pocz) || (image_index>kon+1-szybkosc) image_index = pocz; } } if (mx<x) // jesli mx jest na lewo od x hspeed = -4; else if (mx>x) // jesli mx jest na prawo od x hspeed = 4; else if (my<y) // jesli my jest wyzej od y vspeed = -4; else if (my>y) // jesli my jest nizej od y vspeed = 4; depth = -y; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 I przed tym wszystkim dajesz GML if ( obj_menu.visible ) exit <_< Przetestować nie łaska? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 14 Marca 2008 Autor Udostępnij Opublikowano 14 Marca 2008 No myślisz, że nie próbowałem??? Daje nowy skrypt i piszę w nim: GML if ( obj_menu.visible ) exit if (keyboard_check(vk_left)) { if (pocz=4) && (image_xscale=-1) && (place_free(x-32,y)) mx -= 32; .... if (mx>x) // jesli mx jest na prawo od x hspeed = 4; else if (my<y) // jesli my jest wyzej od y vspeed = -4; else if (my>y) // jesli my jest nizej od y vspeed = 4; depth = -y; Wtedy wyskakuje, że nieznana zmienna visible... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 Wtedy wyskakuje, że nieznana zmienna else... Pokiełbasiłeś coś z blokami if'ów i gdzieś pewnie leży niepotrzebny else. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 14 Marca 2008 Autor Udostępnij Opublikowano 14 Marca 2008 To teraz wyskakuje nieznana zmienna visible... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 A istnieje objekt obj_menu? Zmienna visible zawsze istnieje... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 14 Marca 2008 Autor Udostępnij Opublikowano 14 Marca 2008 No obj_menu istnieje i ma włączone Persisent. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 obj_menu musi być tworzony przed wszystkimi innymi objektami, które używają jego zmiennych... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 14 Marca 2008 Autor Udostępnij Opublikowano 14 Marca 2008 No ale to jest chyba niemożliwe, bo obj_menu ma wyskakiwać op naciśnięciu Shift... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 Daj w create obj_menu: GML visible=false I twórz go od razu przy starcie roomu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
hudy0070 Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 Create: GML szift = 0; Step: GML if (keyboard_check_pressed(vk_shift)) then szift+=1; if szift > 1 then szift = 0; if szift = 0 then visible = false; if szift = 1 then visible = true; EDIT: I tak jak mówi nobody odznacz visible lub w create napisz visible = false Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 Ty to nie masz nic do roboty, tylko komplikować życie innym? Wystarczy w stepie: GML if (keyboard_check_pressed(vk_shift)) visible=!visible A w create: GML visible=false; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaV Royal Opublikowano 14 Marca 2008 Autor Udostępnij Opublikowano 14 Marca 2008 To tak: $%$ Menu już mam zrobione, tzn. włącza się i wyłącza też... Tylko jest jeszcze ten problem z blokowaniem ruchu gracza. Bo sytuacja jest taka, że ja użyłem przykładu, w którym do chodzenia odnoszą się 3 eventy: -Create -Step -End Step ??? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 14 Marca 2008 Udostępnij Opublikowano 14 Marca 2008 Może będziesz taki łaskawy i dasz z nich kody? Bo my nie jesteśmy jasnowidzami i nie widzimy co ty tam masz. 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ę