Skocz do zawartości
  • 0
gnysek

FAQ: GDZIE MAM WPISAĆ TEN KOD?

Pytanie

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: http://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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

12 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

świetny temat.

ja bym to przypiął.

 

Już to zrobiłem, parę minut temu... widocznie pisałeś posta w tym czasie.

gnysek

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
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)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
Ł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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
Ł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 :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Przyda się dla początkujących.

 

Sorry za wcześniej, malcolm_x zmienił mi post ;/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

nie rozumiem tego C++

 

GM forever

 

 

Odświeżanie tematu + post nic nie wnoszący. Warn.

Mimek

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko 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ę tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×