Ten artykuł został stworzony dla starszych wersji GameMakera i może nie być aktualny.

Efektowne menu

Niedziela, 25 Września 2005, 21:13
Czas czytania 2 minuty, 18 sekund
Zgodne z GM: gm6
Jak zrobić zaawansowane menu.
TYLKO GAME MAKER 6.1

tworzymy nowy obiekt obj_menu. Dajemy kod w create:
kodalpha=0;
step=0;
kursor=0;
m[0]='Nowa gra';
m[1]='Wczytaj Grę';
m[2]='Zakończ';
kursor_max=2;
teraz dajemy kod w step:
kodif step=0
{
if alpha<1 then alpha+=0.1 else{
alpha=1;
step=1;
}
}

if step=2
{
if alpha>0 then alpha-=0.1 else{
instance_destroy();
}
}
w draw:
koddraw_set_alpha(alpha);
for (i=0; i<=kursor_max; i+=1;)
{
if i=kursor then draw_set_color(c_white) else draw_set_color(c_black);
draw_text(0,0+(40*i),m[i]);
}
w key press up dajemy kod:
kodif step=1
{
if kursor>0 then kursor -=1 else kursor=kursor_max;
//ewentualnie: sound_play(muzyczka);
}
w key press down dajemy kod:
kodif step=1
{
if kursor<kursor_max then kursor +=1 else kursor=0;
//ewentualnie: sound_play(muzyczka);
}
w key_press enter dajemy kod
kodif step=1
{
step=2;
//ewentualnie: sound_play(muzyczka);
}
i na sam koniec w on destroy dajemy kod:
kod
draw_set_alpha( 1 );
switch kursor
{
case 0: /*gdy wybrano nowa gra*/; break;
case 1: /*gdy wybrano wczytaj*/; break;
default: game_end();
}

Teraz tłmaczę o co chodzi:
W CREATE definiujemy zmienną alpha, która odpowiada za rozjaśnianie i przyciemnianie menu.
Zmienna step pomaga nam to kontrolować.
Zmienna kursor odpowiada za aktualną pozycję kursora.
Zmienne m[0]...m[n] odpowiadają za kolejne pozycje w menu
Zmienna kursor_max, musi być równa liczbie n z poprzedniej zmiennej (w tym wypadku 2)

W STEP zajmujemy się opoeracjami na rozjaśnianiu i przyciemnianiu menu.

W KEY_UP i KEY_DOWN operujemy na zmianie pozycji kursora, ale tylko gdy step=1 czyli menu jest widoczne i ani się nie rozjaśnia, ani też nie przyciemnia.

W ENTER nakazujemy się obiektowi przyciemniać, zmieniając step na dwa, tym samym unieruchamiając operacje na kursorze. Akcja w step doporowandzi do powolnego zniknięcia menu, a na końcu zniszczy go.

W DESTROY dajemy akcje jakie nalezy wykonać po wybarniu konkretnego menu. Dajemy je dopiero tutaj, bo w tym momencie obiekt zniknął, więc musi się coś wydarzyć. Najlepiej zrozumiesz to gdy zobaczysz skrypt w akcji.

W DRAW w pętli FOR, malujemy menu. Ustawiamy prześwitywalność na alpha, można dodatkowo ustawic rozmiar czcionki (przed pętlą). W pętli ustawiamy kolor czcionki na czarny, lub na biały gdy aktualny tekst odpowiada pozycji kursora.

Dla początkujących skrypt ten może być dość skomplikowany, ale sam strouję go w praktyce od dość dawna, w róznych modyfikacjach (nie tylko do menu, ale np. do plansz z wpisywaniem imienia, plansz tekstowych, oraz plansz z pytaniami). Po drobnych modyfikacjach w draw, można uzyskac naprawdę wspaniałe efekty, włącznie z kursorem oraz tłem dla menu. Ten sam skrypt został zastrosowany w 80% moich gier.
Komentarze (łącznie 63, wyświetlam 1 - 15):
FIREMARK (Nie., 25 Wrz. 05, 22:17)
#1

Fajny skrypt,ja używam podobny,ale bez efektów alpha :]

Ranma_man (Nie., 25 Wrz. 05, 23:14)
#2

Tematyka bardziej się nadaje na przykład, a nie na kurs GML.

Mideooo (Wto., 27 Wrz. 05, 16:52)
#3

Fajne :)

Q
Quetzacotl (śro., 28 Wrz. 05, 00:35)
#4

normalny efekt opacity ;p

Maximal (Nie., 02 Paź. 05, 15:58)
#5

Fajny skrypcik :D

J
~Jarek Gracz (śro., 04 Sty. 06, 13:55)
#6

Jak uruchamiam grę, to pojawia się tylko napis "Nowa gra" a jak wciskam, to wychodzę z gry!
Powinieneś to poprawic! Gnysek.

krychu90 (Czw., 05 Sty. 06, 13:07)
#7

LOL!To jest tylko menu!!!

guXio (Czw., 12 Sty. 06, 14:09)
#8

Gdy klikne np. na nowa gra , to znikają litery. A jak zrobić by np. Weszło do następnego pomiesazcznienia ??

a
adam (Sob., 01 Lip. 06, 10:49)
#9

~Jarek Gracz:
"Jak uruchamiam grę, to pojawia się tylko napis "Nowa gra" a jak wciskam, to wychodzę z gry!Powinieneś to poprawic! Gnysek."
Jezu!!! Kliknij strzałką w dół to przeskoczy ci na Wczytaj grę!

gnysek (śro., 05 Lip. 06, 10:59)
#10

heh wystarczy w stepw if step=2 procedury podmienić i tyle, nie wimo co ten szum :P

G
Grizzly (śro., 13 Gru. 06, 16:52)
#11

Nie działa mi. Od razu przechodzi do gry :/

G
Grizzly (śro., 13 Gru. 06, 16:53)
#12

Ok już działa

Force (Czw., 04 Sty. 07, 12:53)
#13

ej jaka jest komenda na przejscie do nastempnego roomu w tym menu???

Blackmaul (Czw., 04 Sty. 07, 13:01)
#14

Help prawdę ci powie. Tak trudno F1 nacisnąć? :P

Marmot (Czw., 04 Sty. 07, 15:55)
#15

room_goto_next(); XD ? Ludzie, trochę myślenia, błagam :)

Najnowsze wersje GameMakera:

LTS
2026.0.0.16 • 2022.0.3.99
wydana 154 dni temu
Beta
2026.100.0.1195 •
2026.100.0.1132
•
 GMRT beta 0.22.4

wydana  dziś
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
56 użytkowników online na discordzie:
Miłosz, 🧁Cupcake🧁, MorDan, Nikas, l..., Alice, LeD, Nitro Slav, 21Lancz, Carl-bot, pABLO, h..., Fox, GibkiKaktus, s..., Sporek, Wielki Druid, Kuzyn, Tidżi, 𝕳𝖚𝖌𝖔 𝕲𝖔𝖓𝖝𝖆𝖑𝖊𝖝, Radek Ignatów, r..., Uzjel, Cysior, NOTALOSZISZITER, Moldis, LolikZabijaka, Murrri, firemark, MagnusArias, Kandif, yazaa, HappyOrange, Dyno, 🆅🅸🆃🅾74🅼, szmalu, Korodzik, Grela, ZYGZAK, Ulti, Danieo, bagno, Arrekin, Mtax, MrTesterr, Voytec, GreenClover, Robert, Borek, g..., Add92, Krzysiek1250, Shockah, Nero, exigo, xVANiLL
Shoutbox
Adriann (15:31, 29.10.26)
Tak, rozumiem używanie ai jako narzędzia ale nie w ten sposób że nie widać w tym pracy człowieka :o
Borek (15:13, 26.10.26)
Nie narzekam na ruch (sam napisałem, że przynajmniej jakiś ruch jest), ale martwi mnie jakość "gier", które nagle zaczynają się pojawiać z dupy. "Catch the clown" przynajmniej był stworzony przez człowieka, tak samo jak opis na forum :)
Wojo (11:49, 26.10.26)
Nie ma ruchu - narzekacie, jest ruch - narzekacie. Nie są to gry z najwyższej półki, ale każdy robi tak jak potrafi. Za starych gmclanowych czasów było wiele produkcji amatorskiej jakości, ale dzięki temu forum tętniło życiem.
Borek (16:08, 25.10.26)
Chodzi mi o ten INPUT, jedna linia, ciężko się tutaj pizse :) Ja wiem, że retro, ale trochę QoL nie zaszkodzi :D
gnysek (16:00, 25.10.26)
A co jest nienormalnego? :D Jest takie jak zawsze było, pełne retro ;) Zerknę, w następny weekend planuję lekki update strony. 3 wpisy to nie tragedia, ale jak będzie wiecej AI slopu to pewnie zacznę kasować.
Borek (19:01, 24.10.26)
Kurde, forum zaczyna zalewać gówno z Claude twórców... :/ ale w sumie jakiś ruch jest :D. P.S. gnysek weź ogarnij tu jakieś normalne okno do pisana shoutów, bo to jakaś masakra jest...
gnysek (23:05, 08.10.26)
Były takie próby, widać co z tego wyszło ;)
Kuzyn (17:06, 08.10.26)
może forum musi rozszerzyć działalność mocniej i skupiać ogólnie polski gamedev hihi
S
Sutikku (18:26, 05.10.26)
zapytaj onet zamknęło działalność, wizaz zamknęło działalność, krajobraz nie jest łatwy
Wojo (16:30, 28.09.26)
To świadczy o tym, że gmclan ma jeszcze duży potencjał, ale niestety nie jest on wykorzystywany tak jak należy.
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?