smartboy Opublikowano 22 Listopada 2014 Udostępnij Opublikowano 22 Listopada 2014 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 Więcej opcji udostępniania...
hgter Opublikowano 22 Listopada 2014 Udostępnij Opublikowano 22 Listopada 2014 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 Więcej opcji udostępniania...
I am vader Opublikowano 23 Listopada 2014 Udostępnij Opublikowano 23 Listopada 2014 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 Więcej opcji udostępniania...
szmalu Opublikowano 24 Listopada 2014 Udostępnij Opublikowano 24 Listopada 2014 Ja bym zrobił tak (krócej nie umiem) GML Menu[0]="New Game" Menu[1]="Load" // (...) for (i=0;i<5;i++) { if (i==opcja) draw_set_color(c_red); else draw_set_color(c_white); draw_text(128,256+i*32,Menu); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Listopada 2014 Administratorzy Udostępnij Opublikowano 25 Listopada 2014 Zrobiłbym to tak samo jak szmalu, także daję 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ę