Skocz do zawartości

opcje w menu


smartboy

Rekomendowane odpowiedzi

Powracam, po około pół roku GM mnie wzywa i nie daje mi spokoju więc coś tam nadal próbuje.Moje pytanie brzmi tak czy można skrócić ten kod, bo z myśleniem to u mnie od dłuższego czasu bardzo ciężko:

 

GML
if opcja=1

{

draw_text_color(128,256,'New Game',red,red,red,red,1);

draw_text_color(128,256+32,'Load',white,white,white,white,1);

draw_text_color(128,256+64,'Options',white,white,white,white,1);

draw_text_color(128,256+64+32,'Bonus',white,white,white,white,1);

draw_text_color(128,256+64+64,'Quit',white,white,white,white,1);

}

if opcja=2

{

draw_text_color(128,256,'New Game',white,white,white,white,1);

draw_text_color(128,256+32,'Load',red,red,red,red,1);

draw_text_color(128,256+64,'Options',white,white,white,white,1);

draw_text_color(128,256+64+32,'Bonus',white,white,white,white,1);

draw_text_color(128,256+64+64,'Quit',white,white,white,white,1);

}

if opcja=3

{

draw_text_color(128,256,'New Game',white,white,white,white,1);

draw_text_color(128,256+32,'Load',white,white,white,white,1);

draw_text_color(128,256+64,'Options',red,red,red,red,1);

draw_text_color(128,256+64+32,'Bonus',white,white,white,white,1);

draw_text_color(128,256+64+64,'Quit',white,white,white,white,1);

}

if opcja=4

{

draw_text_color(128,256,'New Game',white,white,white,white,1);

draw_text_color(128,256+32,'Load',white,white,white,white,1);

draw_text_color(128,256+64,'Options',white,white,white,white,1);

draw_text_color(128,256+64+32,'Bonus',red,red,red,red,1);

draw_text_color(128,256+64+64,'Quit',white,white,white,white,1);

}

if opcja=5

{

draw_text_color(128,256,'New Game',white,white,white,white,1);

draw_text_color(128,256+32,'Load',white,white,white,white,1);

draw_text_color(128,256+64,'Options',white,white,white,white,1);

draw_text_color(128,256+64+32,'Bonus',white,white,white,white,1);

draw_text_color(128,256+64+64,'Quit',red,red,red,red,1);

}

if opcja=8

{

draw_text_color(128,256,'New Game',white,white,white,white,1);

draw_text_color(128,256+32,'Load',white,white,white,white,1);

draw_text_color(128,256+64,'Options',white,white,white,white,1);

draw_text_color(128,256+64+32,'Bonus',white,white,white,white,1);

draw_text_color(128,256+64+64,'Quit',white,white,white,white,1);

}

Odnośnik do komentarza
Udostępnij na innych stronach

Witaj

 

Jeżeli chodzi Ci tylko o uproszczenie samego zapisu to można np. tak:

 

if (opcja=1) {draw_text_color(128,256,'New Game',c_red, c_red, c_red, c_red,1)} else {draw_text_color(128,256,'New Game',c_white, c_white, c_white, c_white,1)};

if (opcja=2) {draw_text_color(128,256+32,'Load',c_red, c_red, c_red, c_red,1)} else {draw_text_color(128,256+32,'Load',c_white, c_white, c_white, c_white,1)};

if (opcja=3) {draw_text_color(128,256+64,'Options',c_red, c_red, c_red, c_red,1)} else {draw_text_color(128,256+64,'Options',c_white, c_white, c_white, c_white,1)};

if (opcja=4) {draw_text_color(128,256+64+32,'Bonus',c_red, c_red, c_red, c_red,1)} else {draw_text_color(128,256+64+32,'Bonus',c_white, c_white, c_white, c_white,1)};

if (opcja=5) {draw_text_color(128,256+64+64,'Quit',c_red, c_red, c_red, c_red,1)} else {draw_text_color(128,256+64+64,'Quit',c_white, c_white, c_white, c_white,1)};

 

 

 

A jeżeli dodatkowo nie zależy Ci na gradiencie to:

 

if (opcja=1) {draw_set_color(c_red)} else {draw_set_color(c_white)};

draw_text(128,256,'New Game')

if (opcja=2) {draw_set_color(c_red)} else {draw_set_color(c_white)};

draw_text(128,256+32,'Load')

if (opcja=3) {draw_set_color(c_red)} else {draw_set_color(c_white)};

draw_text(128,256+64,'Options')

if (opcja=4) {draw_set_color(c_red)} else {draw_set_color(c_white)};

draw_text(128,256+64+32,'Bonus')

if (opcja=5) {draw_set_color(c_red)} else {draw_set_color(c_white)};

draw_text(128,256+64+64,'Quit')

 

 

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Zapisz kolory do zmiennych, gdzie pozycja w tablicy odpowiada "pozycji" w menu (wartosc "opcja")

GML
MenuColor[1]=c_white;

MenuColor[2]=c_white;

MenuColor[3]=c_white;

MenuColor[4]=c_white;

MenuColor[5]=c_white;

// ... etc</span>

 

Kiedy chcesz zmienić wartość zmiennej opcja

 

PRZED zmianą:

GML
MenuColor[opcja]=c_white; //Resetowanie obecnej pozycji do bialego</span>

 

PO zmianie

 

GML
MenuColor[opcja]=c_red; //Ustawienie obecnej pozycji do czerwonego</span>

 

Z takim ustawieniem twój draw będzie wyglądać tak:

 

GML
draw_text_color(128,256,'New Game',MenuColor[1],MenuColor[1],MenuColor[1],MenuColor[1],1);

draw_text_color(128,256+32,'Load',MenuColor[2],MenuColor[2],MenuColor[2],MenuColor[2],1);

draw_text_color(128,256+64,'Options',MenuColor[3],MenuColor[3],MenuColor[3],MenuColor[3],1);

draw_text_color(128,256+64+32,'Bonus',MenuColor[4],MenuColor[4],MenuColor[4],MenuColor[4],1);

draw_text_color(128,256+64+64,'Quit',MenuColor[5],MenuColor[5],MenuColor[5],MenuColor[5],1);

 

Działając przy tym jak poprzednio.

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ę...