Nasze strony: gmclan.org gameonly.pl ps-plus.pl gameswithgold.pl n-switch.pl hmt.pl
Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Akademia GMCLANu
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy GML
Treść artykułu
Efektowne menu
autor: gnysek (25.09.05) | czas czytania: 2 minuty, 18 sekund
TYLKO GAME MAKER 6.1

tworzymy nowy obiekt obj_menu. Dajemy kod w create:
gml:alpha=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:
gml:if 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:
gml:draw_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:
gml:if step=1
{
if kursor>0 then kursor -=1 else kursor=kursor_max;
//ewentualnie: sound_play(muzyczka);
}
w key press down dajemy kod:
gml:if step=1
{
if kursor<kursor_max then kursor +=1 else kursor=0;
//ewentualnie: sound_play(muzyczka);
}
w key_press enter dajemy kod
gml:if step=1
{
step=2;
//ewentualnie: sound_play(muzyczka);
}
i na sam koniec w on destroy dajemy kod:
gml:
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.
głosów: 16 | ocena: 5.82 oceń zasób | dodał: gnysek
Komentarze
stron: 4123

4


av

Elevator (22:25, 11.02.2011)

ladne menu do minigierki ;d

av

Opisek (7:44, 20.04.2014)

Ciekawe... Może wykorzystam

av

Ab-Dul (3:08, 21.06.2014)

pokilku przeróbkach dało radę coś z tym zrobić

stron: 4123

4



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
3 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 3, userów: 0, ukrytych: 0
Użytkownicy na czacie discord
Shoutbox
gnysek (12:35, 20.04.21):
Wracaj, wracaj.
I am Lord (11:04, 20.04.21):
Może wrócę do tworzenia gierek 😂
gnysek (10:48, 20.04.21):
Super, dzięki! Przed odjęciem prowizji zadeklarowaliście wspólnie aż 745 złotych, także jeszcze z jedna osoba i jak te przelewy przyjdą (pewnie kolejne 3-4 dni) to powinienem mieć tyle kasy, żeby licencje forum odnowić. Co zostało, będzie na jej przedłuzanie (25$ na pół roku), chociaz ono chyba nie będzie potrzebne bez przerwy, postaram sie oszczędzać na tym ile się da.
nowy_user (10:40, 20.04.21):
I ja również trochę dorzuciłem, niech Gmclan żyje długo i szczęśliwie!
Adriann (9:10, 20.04.21):
No, udało się wreszcie I ja dorzuciłem małą cegiełkę do projektu
gnysek (19:09, 19.04.21):
No, bo dojechaliśmy do 600zł, zaraz będzie na tę nieszczęsną licencję forum
Adriann (14:21, 19.04.21):
Tak widziałem tylko teraz ja mam jakiś problem z kartą odnośnie uwierzytelnienia Ale ogarnę w najbliższym czasie
gnysek (8:12, 19.04.21):
@Adriann Napisali mi, że płatność kartami jest już aktywna.
gnysek (1:44, 19.04.21):
Jeszcze ze 150zł i aktualizacja forum poleci
gnysek (1:06, 19.04.21):
Jutro postaram się wszystko ogarnąć, jak na dobre przysiądę do laptopa i oczyszczę taski w pracy.
gnysek (1:04, 19.04.21):
Woah, ja nie nadążę zaraz tego ogarnąć, nawet nie liczyłem na taki odzew
SimianVirus7 (12:55, 18.04.21):
I ja dołożyłem swoją cegiełkę, w końcu przychodzę tutaj od 8 lat
Sutikku (20:52, 17.04.21):
super pomysł, zostałem patronem
gnysek (19:31, 17.04.21):
Trochę tak, więc pewnie dziś wylecą. Mamy już połowę kwoty!
I am Lord (19:06, 17.04.21):
reklamy pewnie i tak złotówka na miesiąc xd
gnysek (19:03, 17.04.21):
Myślę, że zdejmę reklamy ze strony w zamian za to wsparcie, jak dobijemy do celu
Adriann (18:44, 17.04.21):
o, to chcę kartą
gnysek (16:51, 17.04.21):
Możesz odpiąć po miesiącu. Karty czekają na aktywację, wkrótce będą.
Adriann (16:23, 17.04.21):
Kurczaki..nie mam PayPala a nie chcę płacić z góry a co miesiąc
gnysek (15:29, 17.04.21):
OK, link do wspierania GMCLANu - patronite.pl/GMCLAN .
gnysek (23:34, 16.04.21):
Serwer przeniesiony, jeszcze pewnie z godzinkę/dwie będzie problem z certyfikatem.
gnysek (17:47, 16.04.21):
Czekam jeszcze na wersyfikację dowodu osobistego.
Adriann (14:01, 16.04.21):
Chętnie się dorzucę
gnysek (13:01, 16.04.21):
W akceptacji jest też GMCLANowy profil na patronite, z progami 5 i 10zł.
gnysek (22:31, 15.04.21):
Nastawienie na kurs tworzenia gier, oczywiście też nie jakiś uber poziom, ale tak, żeby omówić najbardziej potrzebne zagadnienia (włącznie z jakimś prostym AI w różnych typach gier),
Adriann (17:58, 15.04.21):
A jakie są założenia nowego gmalcnu? Tylko zmiana grafiki czy coś więcej?
gnysek (15:12, 15.04.21):
To tak bardzo, bardzo wstępnie:
gnysek (9:56, 15.04.21):
A to też, niektórym zaproszeni nie działa, ale to nie moja wina.
Adriann (8:54, 15.04.21):
Coś kojarzę że wcześniej nie zawsze działało
gnysek (20:08, 14.04.21):
Dałem dodatkowy link "otwórz discord" bo chyba nie każdy kumał, że da się wejsć
gnysek (16:58, 14.04.21):
OK, domena już w OVH, teraz pora na przenosiny serwera z OVH do dHosting, wszystko podle ceny
Konrad-GM (18:24, 13.04.21):
Jakby ktoś team zbierał, to imo lepiej trochę wcześniej, sam chętnie dołączę do jakiegoś
Adriann (16:17, 13.04.21):
Aaa kto wie, jeszcze sporo czasu zostało
Konrad-GM (14:05, 13.04.21):
Szykuje się jam GMTK, ktoś z GMC może będzie brać udział? itch.io/jam/gmtk-2021
Konrad-GM (14:03, 13.04.21):
Chell sorry, 20% ale, że na 100% zadziała, w ogóle to kolejną minigierkę w godotcie skleiłem lethiandev.itch...ot-pablo-jumper
gnysek (13:51, 13.04.21):
W tym tygodniu planuję przenosiny GMCLANu na nowy serwer. Pewnie w piątek nocą, może szbybciej.
Chell (9:09, 13.04.21):
oo, a piszą że na 20%
Konrad-GM (17:44, 12.04.21):
Meh mi nie pokazało tego popupa, ale kod działa na 100%
Konrad-GM (17:43, 12.04.21):
Niestety miałem okazję pracować z Wordpressem, podzielam ten ból
gnysek (16:56, 12.04.21):
Ciekawostka, YYG teraz losowo pokazuje na swojej stronie taki popup:
gnysek (16:56, 12.04.21):
Wordpress to jest akurat shit jakich mało. Jeden request i 30-40MB RAM goła strona potrzebuje,
Konrad-GM (14:54, 12.04.21):
Zaraz jakieś syfony czy zendy się zachciało, przecież jest łordpress xD
gnysek (10:31, 12.04.21):
No nie wiem czy flexem dorzucę gotowe moduły ligi24 Tu i tak większość trzeba by przepisać.
Flashek (21:43, 11.04.21):
Ktoś tu w ogóle jeszcze żyje ?
adam014 (7:10, 10.04.21):
Gnysek, ja bym brał Symfony, flexem dorzucasz co trzeba i ogień, tym bardziej że nie ma co koła na nowo wymyślać
adam014 (7:08, 10.04.21):
Ranmus, jak Gmclan był pisany to ja jeszcze nie mialem pojęcia o programowaniu Chociaż teraz jak trafiia mi się refactor to w 70% przypadków szybciej napisać od zera niż poprawiać
gnysek (11:48, 9.04.21):
Nawet jest oddzielenie widoków i kontrolerów, brakuje tylko modeli Chociaż nad tym częściowo już pracowałem, bo PHPStorm fajnie wykrywa duplikaty kodu, więc sporo "poprawiłem",
Ranmus (9:45, 9.04.21):
To jest kod pisany jak w phpie jeszcze nie było pełnej obiektowości.
Ranmus (9:42, 9.04.21):
adam14 - Ja pisząc gmclan tak naprawdę uczyłem się phpa, a ty tu o frameworkach piszesz?
gnysek (17:47, 8.04.21):
GMCLAN nie Kod GMCLANu ma z 17-18 lat jak nic
Ankieta
» Ile powinny trwać tury Ligi 24?
24h
48h
54h (piątek od 18:00)
7 dni
inna długość (podałem w komentarzu ankiety)

GMCLAN to serwis o programie Game Maker i nie tylko.
[ Polityka prywatności ]
Copyright © 2002-2021. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus, © 2017-2021 {=|=} fable_inside();

[ Czas generowania strony: 0.0689 sekund ] [ Liczba zapytań MySQL: 13 ]