Skocz do zawartości

Zablokowane esc = menu


Rekomendowane odpowiedzi

witam. mam niestety kolejny problem.

tym razem jest to wciskanie esc podczas gry. chodzi o to, ze jak wcisne esc to sie wyswietla takie male menu z przyciskami np. wroc zapisz wyjdz i chce aby gra sie "pauzowala" i tak:

mam objekt tlo_menu, te przyciski, mam je ustawione co maja robic przy przycisnieciu mysza ale nie wiem co zrobic aby:

1. wyswietlilo sie to na srodku ekranu

2. pauzowalo gre

3. gdy przycisnie "wroc" to wylacza to menu i "odpauzowuje" gre.

z gory dziekuje

UWAGA! cos takiego jest w "panu fikusnym"!

Odnośnik do komentarza
Udostępnij na innych stronach

Najpierw zrób zmienne menu=trune i menu=false

 

No dobra w obj_kontroler daj mu w create menu=false

w wciśnięciu esc code menu=flase

a potem

if menu=ture and keyboard_(costam czek na esc)
{
(skrypt na tworzenie objectow przycskow menu)
menu=ture
}

 

a niżej

if menu=ture
{
skrypt na niszczenie objectow "buttonow menu)
menu=false
}

 

Za to dodajesz mnie do credits :P

Żartowałem

 

 

 

Jak będe mógł t jutro zorbie przyklad

 

Pozdrawiam MO :death:

Odnośnik do komentarza
Udostępnij na innych stronach

Pobierz GM 7.0 . Otwórz ten plik. Podpatrz kod, skopiuj, wklej do swojej gry i będzie ok.

@Edit: No masz leniu xP:

Create:

//tablice

m[0]="Start gry";
m[1]="Kontynuuj";
m[2]="Opcje";
m[3]="Credits";
m[4]="Koniec gry";

//submenu

s[0]="Zapisz";
s[1]="Menu";
s[2]="Anuluj";

//pozmieniaj te zmienne i bedzie ok :)

kursor_submenu=0;
pauza=0;
ilosc_submenu=3;
ilosc_menu=5;
kolor_uzyty=c_red;
kolor_normalny=c_blue;
odleglosc_od_menu=50;
kursor=0;

W Step:

if keyboard_check_pressed(vk_up) 
{
    if kursor = 0
    {kursor = ilosc_menu-1;}
    else
    {kursor-=1}
}

if keyboard_check_pressed(vk_down) 
{
    if kursor = ilosc_menu-1
    {kursor = 0;}
    else
    {kursor+=1;}
}

if keyboard_check_pressed(vk_up) 
{
    if kursor_submenu = 0
    {kursor_submenu = ilosc_submenu-1;}
    else
    {kursor_submenu-=1;}
}

if keyboard_check_pressed(vk_down) 
{
    if kursor_submenu = ilosc_submenu-1
    {kursor_submenu = 0;}
    else
    {kursor_submenu+=1;}
}

if keyboard_check_pressed(vk_space) || keyboard_check_pressed(vk_enter)
{
    if room=menu
    { 
        switch(kursor)
        {
            case 0: room_goto(gra);  break; //akcje po nacisnieciu na START GRY
            case 1:              break;     //akcje po nacisnieciu na KONTYNUUJ
            case 2:              break;     //akcje po nacisnieciu na OPCJE
            case 3:              break;     //akcje po nacisnieciu na CREDITS
            case 4: game_end();  break;     //akcje po nacisnieciu na KONIEC GRY
        }
    }
    else
    {
        switch(kursor_submenu)
        {
            case 0:                  break;    //akcje takie jak ZAPIS GRY
            case 1: room_goto(menu);  break;    //akcje takie jak MENU
            case 2: pauza=0;         break;    //akcje takie jak ANULUJ
        }
    } 
}

if keyboard_check_pressed(vk_escape) && room!=menu
{if pauza=1 then pauza=0; else pauza=1;}

W Draw:

draw_set_font(font);  //ustawia font
if room=menu
{
    for(i=0; i < ilosc_menu; i+=1;) //rysuje wszystkie menu
    {
        if i=kursor then draw_set_color(kolor_uzyty); else draw_set_color(kolor_normalny);
        draw_text(32,30+odleglosc_od_menu * i,m[i]);  //pisze tekst menu
    }
}

if pauza=1
{
    draw_set_color(c_black);
    draw_rectangle(180,130,320,310,1);
    instance_deactivate_all(1);
    for(j=0; j < ilosc_submenu; j+=1;) //rysuje wszystkie menu
    {
        if j=kursor_submenu then draw_set_color(kolor_uzyty); else draw_set_color(kolor_normalny);
        draw_text(200,150+odleglosc_od_menu * j,s[j]);  //pisze tekst menu
    }
}
else
{
    instance_activate_all();
}

Odnośnik do komentarza
Udostępnij na innych stronach

Zakładamy, że masz 2 roomy. Pierwszy nazywa się gra, drugi menu (tak musi być !). Stwórz obiekt kontroler. Wklej mu kod, który ci podałem. Stwórz ten obiekt w tych dwóch roomach. Stwórz font o nazwie font . Wybierz w nim czcionkę menu i submenu i jest ok. Aha i room menu ma być pusty, a w grze cała gra. Proste i tylko jeden obiekt :) .

Odnośnik do komentarza
Udostępnij na innych stronach

AAAARRRGGGGHHHH!!!!! :twisted: mowie ci wyraznie: mam objekt np. menu i co mam napisac w tym objekcie zeby po kliknieciu esc wyskakiwal na srodku i gra na tle sie pauzowala :twisted: nie dawaj mi kodow typu set_font bo nie o takie menu chodzi! :twisted:

jak jeszcze raz cos takiego napiszesz to bede wygladal jak ten gostek z mojego avataru

Odnośnik do komentarza
Udostępnij na innych stronach

Jej Mati, czy ty nienormalny jesteś? Ja się tu męczę i robię ci submenu (bo menu już kieyś zrobiłem i w Koszu znalazłem :P ) , a ty mi piszesz:

AAAARRRGGGGHHHH!!!!! mowie ci wyraznie: mam objekt np. menu i co mam napisac w tym objekcie zeby po kliknieciu esc wyskakiwal na srodku i gra na tle sie pauzowala nie dawaj mi kodow typu set_font bo nie o takie menu chodzi!

jak jeszcze raz cos takiego napiszesz to bede wygladal jak ten gostek z mojego avataru

Ja ci wszystko wytłumaczyłem, każdy by to zrozumiał, a ci nawet pomyśleć się nie chciało :( . Doceń to, co robią dla ciebie inni. Nawet 20 minut nie poświęciłem, na ten twój przykład, ale ty myślisz, że ja swojego życia nie mam :huh: ?! Pomagałem już wielu osobom i nigdy nie poświęcałem, na to wiele czasu i nie robiłem przykładów. Czego w moim można nie rozumieć? Wszystko w zmiennych i kilku funkcjach oraz pętlach <_< . Dlaczego nie na fontach? Po co marne obiekty, jak sam GM oferuje funkcje i zmienne, takie jak image_alpha, draw_set_alpha() ? Pewnie grafika tych obiektów będzie brzydka, a jak na fontach to zrobisz wyjdzie estetyczniej :) . Wierz mi, sam się przekonałem o tym i zawsze z nich korzystam. I lepiej już w draw_sprite() zrobić takie (sub)menu, a nie w obiektach (w tym celu możesz pokombinować z funkcją string() lub zmienić trochę mój przykład).

 

Pozdrawiam,

Misztrzunio.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...