Skocz do zawartości

FAQ: GDZIE MAM WPISAĆ TEN KOD?


gnysek

Rekomendowane odpowiedzi

  • Administratorzy

Najczęściej pojawiającym się pytaniem na forum jest zdecydowanie: Gdzie mam to wpisać. Zatem postanowiłem zrobić mały FAQ. Jest to uzupełnienie do artykułu z naszej dokumentacji: https://gmclan.org/index.php?wiki=article&zm=3

 

event_create.GIFCREATE

Tutaj definiujemy wszystko, czego będziemy potrzebowali do czasu aż dany obiekt zniknie z gry.

Np. Ustawiamy prędkość animacji, kierunek, przyspieszenie, energię, zmienne wykorzystywane potem.

Akcje jakie tutaj damy wykonają się w momencie stworzenia obiektu, czyli pojawienia się go na planszy (a także podczas wczytania roomu, poza obiektami z zaznaczonym persistent).

 

event_destroy.GIFDESTROY

Akcje jakie tutaj wstawimy wykonają się w trakcie gdy obiekt znika z gry/planszy. Po ich wykonaniu żaden skrypt więcej nie zostanie już przetworzony, obiekt znika, a gra przestaje się nim zajmować. Używane głównie do stworzenia innego obiektu na miejsce obecnego, np. w strzelance możemy zostawić zwłoki po przeciwniku, gdy umrze.

 

event_timer.GIFALARM

To zdarzenie zostaje wykonane, gdy dany alarm z zakresu 0 do 11 będzie równy wartości 0 ! (alarm wyzerowany ma wartość -1 !).

 

event_step.GIFSTEP

Te akcje są wykonywane przez cały czas cyklicznie - jak dojdziemy do końca skryptów czy akcji, to zaczynamy wykonywać je od nowa. Prędkość ich powtarzania zależy od prędkości gry (room_speed).

Zatem w większości przypadków to tutaj znajdują się wszystkie warunki, sztuczne inteligencje, obliczenia itd.

Można tutaj sprawdzać np.: czy energia już jest mniejsza niż 0 i przeciwnik ma umrzeć, czy ilość kryształków w grze jest równa 0 i można już przejść do następnej planszy, czy istnieją jeszcze jacyś przeciwnicy, czy wynik przekroczył założoną przez nas liczbę, czy wchodzimy po drabinie czy może jednak stoimy na ziemi albo akurat skaczemy, czy mamy jeszcze naboje, i tak dalej. Najczęściej wykorzystywane zdarzenie.

 

event_collision.GIFCOLLISIONS

To zdarzenie wykonywane jest w przypadku dotknięcia innego obiektu. We wszystkich akcjach jakie tutaj wstawimy, czy w kodzie, obiekt ten oznaczany jest jako OTHER. Zatem jeśli chcemy, aby poza naszym obiektem działo się też coś z tym z którym kolidujemy, to odwołujemy się do niego właśnie opcją other.

 

event_keyboard.GIFKEYBOARD

Podobne do step, ale wykonywane tylko gdy jakiś klawisz jest wciśnięty, bez przerwy aż do jego puszczenia.

 

event_mouse.GIFMOUSE

Zestaw zdarzeń wywoływanych myszką i padem. Te z dopiskiem GLOBAL oznaczają, że kliknięcie może nastąpić gdziekolwiek, a nie tylko na naszym obiekcie (jego masce)

 

event_other.GIFOTHER

Kilka różnych opcji, jak opuszczanie planszy przez obiekt, zdarzenie wykonywane gdy gra się zaczyna, kończy lub plansza zaczyna/kończy.

 

event_draw.GIFDraw

Podobnie jak step, to zdarzenie jest wykonywane cyklicznie zależnie od prędkości planszy (room_speed).

Tutaj lądują wszystkie klocki/skrypty odpowiedzialne za rysowanie - a więc te które zaczynają się od draw_

Teoretycznie można tutaj również wstawić różne warunki i operacje i ich działanie będzie takie jak w step, jednak powinno się tego stanowczo unikać!

UWAGA!

- Jeżeli w tym zdarzeniu damy jakikolwiek klocek, sprite tego obiektu przestaje być rysowany i trzeba użyć klocka draw sprite pozostawiając parametr image index niezmieniony (-1), lub kodu draw_sprite(sprite_index,image_index,x,y); aby ponownie był widoczny!

- Jeżeli odznaczymy w obiekcie opcję Visible, to zdarzenie nie jest wykonywane.

 

event_keypress.GIFKEYBOARD PRESS

Wykonywane tylko w momencie gdy wciskamy jakiś klawisz (a więc tylko jeden raz, w momencie kiedy do komputera trafia informacja o tym, że klawisz zostaje wciśnięty). Kolejne wykonanie nastąpi dopiero, gdy puścimy klawisz i ponownie go wciśniemy.

 

KEYBOARD RELEASE

Wykonywane tylko w momencie gdy puszczamy jakiś klawisz (a więc tylko jeden raz, w momencie kiedy do komputera trafia informacja o tym, że klawisz nie jest już wciśnięty). Kolejne wykonanie nastąpi dopiero, gdy wciśniemy ten klawisz i ponownie go puścimy.

 

 

 

Kolejność wykonywania zdarzeń

W niektórych przypadkach może mieć dla ciebie wielkie znaczenie w jakiej kolejności wykonywane są akcje:

 

Begin Step

Alarm

Keyboard, Key press, i Key release

Mouse

Normal Step

(teraz wszystkie obiekty zostaną przesunięte na nowe pozycje, jeżeli tak każą akcje)

Collision

End step

Drawing

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Z tego wynika, że Game Maker jest prostszy od RM Oo Muszę się nim w końcu zainteresować :)

 

No tak, ale grę RPG zdecydowanie łatwiej napisać w RPG Makerze :P Chociaż postanowiłem obalić ten mit i zrobić grę na poziomie RPG Makera 2k w GM (mógłbym w sumie zrobić na podstawie XP, ale ułożenie postaci w trakcie walki w 2k jest lepsze)

Odnośnik do komentarza
Udostępnij na innych stronach

No tak, ale grę RPG zdecydowanie łatwiej napisać w RPG Makerze :P Chociaż postanowiłem obalić ten mit i zrobić grę na poziomie RPG Makera 2k w GM (mógłbym w sumie zrobić na podstawie XP, ale ułożenie postaci w trakcie walki w 2k jest lepsze)

Ładnie opisana większość eventów(tj. bez rozdrabniania się na othery wszystkie).

A tak wogule to nie wiedziałem, że w RM się pisze RPGi. Wprawdzie jest tam wbudowany język, ale on raczej pozwala na dostosowywanie do siebie gry(że tak to ujmę), a i zresztą nie jest często używany.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Ładnie opisana większość eventów(tj. bez rozdrabniania się na othery wszystkie).

A tak wogule to nie wiedziałem, że w RM się pisze RPGi. Wprawdzie jest tam wbudowany język, ale on raczej pozwala na dostosowywanie do siebie gry(że tak to ujmę), a i zresztą nie jest często używany.

 

:huh: Nie czepiaj się. Zastąp sobie pisać na stworzyć. Faktycznie Ruby jest tylko w XP, więc w 2k nie można pisać gier.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...
Ładnie opisana większość eventów(tj. bez rozdrabniania się na othery wszystkie).

A tak wogule to nie wiedziałem, że w RM się pisze RPGi. Wprawdzie jest tam wbudowany język, ale on raczej pozwala na dostosowywanie do siebie gry(że tak to ujmę), a i zresztą nie jest często używany.

 

 

jak dla mnie to RM podchodzi bardziej pod 3d game maker - wybierasz sobie jakie chcesz mieć bronie, ludziki i plansze. jest oczywiście bardziej konfigurowalny ale GM jest jak dla mnie najlepszy :)

Odnośnik do komentarza
Udostępnij na innych stronach

Pozatym, do każdego rodzaju gier jest inny Maker.

Gdzie mi znajdziesz np. Logical Game Maker? Lepiej brać GM-a, większa satysfakcja z robienia. Ale najlepiej wybrać C++ lub C - to ma większą przyszłość.

 

Btw. Za off-topic oczywiście przepraszam. xP

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...
kurwa mam biegunke i obsrałem monitor :crying:

 

Fajny temat, przydał mi się i to bardzo, a tak wogóle, czy ten post był potrzebny?? Gdzie są admini??

 

Na datę patrzyłeś? Nie musisz odpowiadać, bo i tak wiadomo, że nie. Jeśli nie masz nic ciekawego do powiedzenia, to po prostu powstrzymaj się od postowania. Warn.

Maximal

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...
  • 2 tygodnie później...

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...