Lekcja 7 – Drzwi

Skoro mamy już opracowane podstawy eventów, czas przejść do powolnego zaznajamiania się z najważniejszymi komendami programu. W tej lekcji na bazie zdarzenia stworzymy drzwi do domu naszego bohatera, które będą animowane, a podczas otwierania usłyszymy charakterystyczny odgłos. Zanim jednak przejdziemy dalej, trochę teorii na temat budowy plików w programie.

Powyżej znajduje się przykładowy charset złożony z ośmiu charów, czyli konkretnych postaci (nie zawsze są to osoby, ale o tym dalej). Każdy z charów składa się z kolei z 12 klatek animacji, zawsze ułożonych tak samo – pierwszy wiersz to postać patrząca w górę, drugi – w prawo, trzeci – w dół, a czwarty – w lewo. Wiersz zbudowany jest natomiast z trzech klatek animacji – prawej nogi, postoju i lewej nogi. W większości przypadków nie musicie o tym pamiętać, ale gdy przychodzi do animowania zdarzeń, taka wiedza jest niezbędna.

Tyle teorii, przekujmy ją teraz w praktykę. Przechodzimy w edytorze do mapy Wioska i usuwamy teleport odpowiedzialny za wejście do chatki (zaznaczając go i klikając DELETE lub klikając prawym przyciskiem myszy i wybierając opcję Delete). Następnie w tym samym miejscu tworzymy nowy event o nazwie Drzwi.

W polu Graphic wybieramy plik Object1 i zaznaczamy interesującą nas grafikę drzwi (ja wybrałem drugie od lewej). Zwróćcie uwagę na to, że Direction (czyli kierunek patrzenia grafiki z charsetu) ustawione jest na Down, a Pattern (animacja lewego i prawego kroku) na MIDDLE. Ta ostatnia opcja nie ma znaczenia dla drzwi, ale jej znajomość będzie potrzebna przy bardziej zaawansowanych zabawach z eventami.

Po zatwierdzeniu klawiszem OK należy sprawdzić, czy Trigger zdarzenia ustawiony jest na pewno na Action Button (czyli event czeka na naciśnięcie przycisku przez gracza), a Priority na Same as Characters (żeby gracz nie mógł wejść na stojące przecież drzwi). Animation Type należy ustawić na Fixed Graphic, ponieważ zamierzamy manipulować grafiką eventu z dokładnością do jednej klatki, a pozostawienie domyślnego ustawienia może nam to utrudnić. Całość eventu przed wprowadzeniem komend powinna wyglądać tak:

Następnie wprowadzamy w Contents nową komendę i wybieramy Set Move Route… (druga strona, czwarta komenda od dołu po prawej). W nowym oknie możemy ustawiać poruszanie się eventów i gracza po mapie. Na liście Event wybieramy zdarzenie, które ma być poruszone (wskazujemy This Event lub Drzwi, efekt będzie ten sam) – pole Frequency to odstęp pomiędzy poszczególnymi poruszeniami (zostawiamy 8). Na dole pozycja Options zawiera Repeat Action (powtórzenie całej listy komed wybranych za chwilę) oraz Skip If Cannot Move (jeśli dany ruch zdarzenia nie jest możliwy, bo np. gracz zasłania przejście, zdarzenie pominie ten ruch). Po prawej natomiast są różne komendy związane (głównie) z ruchem.

Pamiętacie, co mówiliśmy na początku o grafikach charsetów? Char drzwi zbudowany jest tak samo jak bohaterowie. Dół to zamknięte drzwi, prawo lekko otwarte, góra mocniej otwarte, a lewo całkiem otwarte. Dlatego z komend po prawej wybieramy odpowiednio Turn Right, Turn Up oraz Turn Left. To obraca grafikę chara w pożądanym przez nas kierunku. Żeby jednak program nie przeszedł od razu od grafiki zamkniętych drzwi, do całkowicie otwartych (to niweczyłoby całą pracę związaną z animowaniem drzwi), pomiędzy komendy ruchu musimy wstawić jeszcze komendę Wait (dzięki temu program czeka chwilę przed wykonaniem następnej akcji). Dla urozmaicenia na początku dodajmy jeszcze Play SE… i wybierzmy plik Open1, jak w przypadku teleportu wyjściowego z chatki. Całość powinna wyglądać tak:

Po kliknięciu OK mamy już jedną trzecią roboty za sobą! Kolejna komenda, którą należy dodać w zdarzeniu, to Wait (znajduje się na dole tej samej kolumny, co Set Move Route). Dodajemy ją jako zupełnie nową komendę, a nie element Movement Commands, ponieważ musimy dać czas całemu zdarzeniu na wyświetlenie animacji. Długość tego czasu każdorazowo należy ustalać metodą prób i błędów. W naszym przypadku w zupełności wystarczy jedna sekunda, dlatego w polu Time wpisujemy 10 (bo podajemy czas w dziesiątych częściach sekundy).

Ostatnia komenda w evencie to Transfer Player znajdujące się na tej samej stronie komend co pozostałe dwie już wykorzystane. Po jej wywołaniu pokaże się okno jak przy tworzeniu teleportu. Ustawiamy miejsce teleportu na domek bohatera i klikamy OK. Całość powinna wyglądać tak:

I to w zasadzie tyle. Teraz gdy gracz podejdzie do drzwi i naciśnie klawisz akcji, zobaczy animację otwieranych drzwi oraz usłyszy pasujący do niej dźwięk, a następnie zostanie przetransportowany do swojego domu. Co bardziej uważni z was pewnie powiedzą, że nie musieliśmy tworzyć nowego eventu dla drzwi, tylko mogliśmy edytować już istniejący teleport. I w zasadzie macie rację – taki sposób działania był podyktowany walorami edukacyjnymi, ale w przyszłości warto pamiętać, że wszystko co zmniejsza nakład pracy potrzebny do osiągnięcia pożądanego rezultatu jest jak najbardziej prawidłowe.

Pewnie zjawi się jakiś dociekliwy czytelnik, który zauważy, że nie zrobiliśmy animacji zamykania drzwi. Z uwagi na sposób działania RPG Makera nie jest ona potrzebna. Wszystkie poruszone przez komendy zdarzenia wracają do swoich pierwotnych pozycji, gdy postać opuści daną mapę. Dzięki temu, gdy ponownie będziemy chcieli wyjść z domu, drzwi z zewnątrz wciąż będą zamknięte!

Tyle na dziś. W następnej lekcji – bohaterowie niezależni (NPC) i questy!

ŚCIĄGNIJ PROJEKT Z LEKCJI

Michał „Michu” Wysocki

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.