Skocz do zawartości

Tragicznie wykonane menu :D


TheVVaS

Rekomendowane odpowiedzi

Cześć!

Wymagana jest lekka pomoc ze strony "miszczuf" GM'a. Otóż zacząłem robić menu do gierki, lecz oczywiście musiałem zrobić wszystko nie tak :D

 

Menu wygląda następująco:

¤ START

- Single Player

- Multi Player

¤ OPTIONS

- pusto

- pusto

- pusto

¤ EXIT

- Yes, I want exit

- No, I want play more

 

A teraz ta gorsza część - tak wygląda mój kiepski skrypcik :D

spr_menu_start to guzik z dwoma indexami, podświetlony guzik(po najechaniu na niego myszką) i zwykły.

menux oraz menuy jest to pozycja każdego guzika. Zmienna menunow informacja w jakim menu jesteśmy(np. menu główny, opcje itp.).

Wszystko jest zrobione w jednym obiekcie:

CREATE:

GML
menunow = 0

 

menux = 180

 

menuy[0] = 120

menuy[1] = 180

menuy[2] = 240

menuy[3] = 300

menuy[4] = 360

 

STEP:

GML
if (mouse_check_button && (abs(menux - mouse_x) < 120 && abs(menuy[0] - mouse_y) < 26)) //Button 1

{

switch(menunow)

{

case 0:

menunow = 1

break;

 

case 1:

room_goto(2)

break;

 

case 2:

break;

 

case 3:

game_end();

break;

}

}

 

if (mouse_check_button && (abs(menux - mouse_x) < 120 && abs(menuy[1] - mouse_y) < 26)) //Button 2

{

switch(menunow)

{

case 0:

menunow = 2

break;

 

case 1:

room_goto(3)

break;

 

case 2:

break;

 

case 3:

menunow = 0

break;

}

}

 

if (mouse_check_button && (abs(menux - mouse_x) < 120 && abs(menuy[2] - mouse_y) < 26)) //Button 3

{

switch(menunow)

{

case 0:

menunow = 3

break;

 

case 1:

menunow = 0

break;

 

case 2:

break;

 

case 3:

break;

}

}

 

DRAW:

GML
draw_set_font(font0)

draw_set_color(c_white)

draw_set_valign(fa_center)

draw_set_halign(fa_center)

 

if (menunow = 0) //MENU

{

if abs(menux - mouse_x) < 120 && abs(menuy[0] - mouse_y) < 26

draw_sprite(spr_menu_start, 0, xmenu, ymenu[0])

else

draw_sprite(spr_menu_start, 1, xmenu, ymenu[0])

draw_text(xmenu, ymenu[0], "START")

 

if abs(menux - mouse_x) < 120 && abs(menuy[1] - mouse_y) < 26

draw_sprite(spr_menu_start, 0, xmenu, ymenu[1])

else

draw_sprite(spr_menu_start, 1, xmenu, ymenu[1])

draw_text(xmenu, ymenu[1], "OPTIONS")

 

if abs(menux - mouse_x) < 120 && abs(menuy[2] - mouse_y) < 26

draw_sprite(spr_menu_start, 0, xmenu, ymenu[2])

else

draw_sprite(spr_menu_start, 1, xmenu, ymenu[2])

draw_text(xmenu, ymenu[2], "EXIT")

}

 

if (menunow = 1) //START

{

if abs(menux - mouse_x) < 120 && abs(menuy[0] - mouse_y) < 26

draw_sprite(spr_menu_start, 0, xmenu, ymenu[0])

else

draw_sprite(spr_menu_start, 1, xmenu, ymenu[0])

draw_text(xmenu, ymenu[0], "Single Player")

 

if abs(menux - mouse_x) < 120 && abs(menuy[1] - mouse_y) < 26

draw_sprite(spr_menu_start, 0, xmenu, ymenu[1])

else

draw_sprite(spr_menu_start, 1, xmenu, ymenu[1])

draw_text(xmenu, ymenu[1], "Multi Player")

 

if abs(menux - mouse_x) < 120 && abs(menuy[2] - mouse_y) < 26

draw_sprite(spr_menu_start, 0, xmenu, ymenu[2])

else

draw_sprite(spr_menu_start, 1, xmenu, ymenu[2])

draw_text(xmenu, ymenu[2], "Back")

}

 

if (menunow = 2) //OPTIONS

{

draw_text(xmenu, ymenu[0], "")

draw_text(xmenu, ymenu[1], "")

draw_text(xmenu, ymenu[2], "")

}

 

if (menunow = 3) //EXIT

{

if abs(menux - mouse_x) < 120 && abs(menuy[0] - mouse_y) < 26

draw_sprite(spr_menu_start, 0, xmenu, ymenu[0])

else

draw_sprite(spr_menu_start, 1, xmenu, ymenu[0])

draw_text(xmenu, ymenu[0], "Yes, I want exit")

 

if abs(menux - mouse_x) < 120 && abs(menuy[1] - mouse_y) < 26

draw_sprite(spr_menu_start, 0, xmenu, ymenu[1])

else

draw_sprite(spr_menu_start, 1, xmenu, ymenu[1])

draw_text(xmenu, ymenu[1], "No, I want play more")

}

 

Póki co guziki nie chcą mi się wyświetlić :(

Pomysły?

Odnośnik do komentarza
Udostępnij na innych stronach

Nie robi różnicy, bo fa_middle i fa_center to tylko stałe i obie mają tę samą wartość ( 1 ).

To coś innego.

EDIT: Czekam na plot twist typu "odznaczyłem visible przez przypadek"

 

EDIT2:

W create masz menux i menuy a w draw masz xmenu i ymenu. Albo na odwrót, nie chce mi się znowu wciskać home.

A skoro Ci to nie wysypuje to byc moze masz ustawione ze nieznane zmienne ustawia na 0 i dlatego nie dostales komunikatu z bledem.

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

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