Ekran tytułowy i wybór gracza
Jeśli kiedykolwiek będziecie marzyć o menu głównym z wieloma podopcjami
to dzięki temu skryptowi spełnicice swe marzenie.
Pierwsze co robimy to uruchamiamy edytor skryptu i szukamy strony: Scene_Title
odnajdujemy tam coś takiego:
A teraz opisze kolejno funcje kolejnych wierszy:
s1 = "Nowa Gra" // tutaj zdefiniowana zostaje nazwa opcji"
s2 = "Wczytaj" // - II -"
s3 = "Koniec" // - II -"
@command_window = Window_Command.new(192, [s1, s2, s3]) // przypisujemu okienko komend do
zmiennej command_window, pierwsza liczba oznacza szerokość okna, poprzecinku wymieniane
są kolejno opcje do wyboru"
@command_window.back_opacity = 160 // ustalamy przeżroczystość tła okna
(255 - nieprzeżroczyste, 0 - bez tła)"
@command_window.x = 320 - @command_window.width / 2 // tutaj ustalamy położenie okna
w poziomie, w komendzie drugiej ustalamy czy położenie okna w poziomie będzie się
zaczynać od środka ramki (2) czy od górnego-prawego rogu (1)"
@command_window.y = 288 // tutaj ustalamy położenie okna w pionie
Skoro już wiemy co do czego służy możemy troche poeksperymentować z położeniem
i widokiem okna.
Podpowiedż:
Jeśli chcemy aby okno przylegało do lewej krawędzi ekranu:
- ustawiamy aby położenie było wybierane względem górnego-prawego punktu
- zmieniamy położenie w poziome i ustawiamy na 192 (poniewarz okno ma szerokość
192 pikseli)
Troche niżej mamy komende:
@command_window.dispose
Powoduja ona zamknięcie okna przypisanego do zmiennej @command_window
Teraz kiedy umiemy zmieniać położenie i wygląd okna możemy przejść do tego
jak działają opcje. Jeśli zejdziemy troche niżej znajdziemy coś takiego:
Oznacza to tyle:
@command_window.update // aktualizuje się okno na ekranie (czyli jeśli ruszymy w dół
to okno się zaktualizuje się i zaznaczy opcje o jedną niżej)"
if Input.trigger?(Input::C) // jeśli naciśniętu przycisk C (Enter)
case @command_window.index // poniższe opcje są do okna zapisanego w zmiennej @command_window"
when 0 //jeśli wybrano opcje s1"
command_new_game // wykonaj polecenia przypisane do tej opcji (więcej za chwile)"
when 1 //jeśli wybrano opcje s2"
command_continue // wykonaj polecenia przypisane do tej opcji "
when 2 //jeśli wybrano opcje s3"
command_shutdown // wykonaj polecenia przypisane do tej opcji"
end // zakończenie warunkowania komend"
end // zakończenie komend wykonywanych po naciśnięciu przycyisku C (Enter)"
Jeszcze niżej mamy coś takiego:
Oznacza to co zostanie wykonane po wybraniu opcji command_new_game czyli s1.
Możemy dowolnie modyfikować.
Skoro wiemy już co i jak przejdżmy do tego o czym mówiliśmy na początku: o wielopoziomowym menu.
Teraz jeśli uważnie przeczytaliście to co wam napisałem to nie sprawi wam to żadnego problemu,
trzeba tylko ruszyć głową.
Kopiujemy strone Scene_Title i nazywamy ją Scene_Title2.
Okienko które mieliśmy w Scene_Title zostaje nienaruszone. Teraz robimy okienko od nowa.
(przepisujemy wszystkie komendy, nazywamy opcje jak chcemy i zmieniamy położenie oraz wygląd)
Gdy już to zrobimy zmieniamy nazwe zmiennej z @command_window na np. @command_window1.
(zmienić tak należy wszystkie dane dotyczące okna)
Teraz w miejscu gdzie znajduje się komenda @command_window.dispose podspodem dodajemy @command_window1.dispose.
(Gdybyśmy tego nie zrobili po wybraniu opcji i przejścia do gry okno nadal by występowało na ekranie)
Szukamy komendy @command_window.update i zmieniamy na @command_window1.update oraz @command_window.index
na @command_window1.index.
Modyfikujemy fragment w którym przypisujemy opcje do poszczególnych komend, oraz polecenia które są przypisane
do poszczególnych komend.
Teraz wracamy na poprzednią strone i w miejcu gdzie przypisujemy polecenia do komend szukamy opcji
po której wybraniu ma się pokazać nowe okienko kasujemy tam wszystko bo wystarczy tam dodać komende:
$scene - Scene_Title2.new
A jeśli chcemy aby po naciśnięciu przycisku ESC mamy wrucić do poprzedniego okienka wystarczy:
- poszukać kawałka gdzie mamy if Input.trigger?(Input::C)"
- dodajemy nad nim if Input.trigger?(Input::B) // B RUBY czyta jako ESC"
- podspodem piszemy $scene = Scene_Title.new // piszemy nazwe poprzedniej strony"
- kończymy warunek pisząc pod spodem "end""
Teraz możemy włączyć gre i cieszyć się naszym nowym Menu głównym ^^
Autor: Patrio
Email:
patrio@o2.pl
Inny kontakt: GG#2588845