NukeBoards

Kursy - [GM] Podstawowy silnik gry logicznej

ricardinho - 03-11-2006, 23:13
: Temat postu: [GM] Podstawowy silnik gry logicznej
Jest to artykuł dla początkujących GMowców. Nauczy cię on podstaw robienia gier logicznych.
Na początek stwórz sprita o wymiarach 32X32, najwygodniej jest gdy jest on kwadratem ponieważ będzie on pełnił rolę ściany. Proponuje nazwać go

Kod:
"sprite_wall"
. Odrazu tworzymy sprita głównego bohatera o takich samych wymiarach jak poprzedni sprajt i nazywamy go

Kod:
"sprite_person"
. Teraz już tylko ostatni sprajt i możemy przystąpić do kodowania. Będzie on pełnił funkcję mety czy końca etapu. Wielkość jak poprzednie a nazwa np.

Kod:
"sprite_goal"
. Najłatwiejsze mamy już za sobą...
Teraz kliknij na poddrzewko

Kod:
"Objects"
prawym przyciskiem myszy i wybierz

Kod:
"Add object"
. Objekt nazywamy

Kod:
"obj_person"
i nadajemy mu sprita bohatera. Tak samo robimy z pozostałymi spritami. Kiedy mamy już dodane objekty pora do "klockowania". Wybieramy objekt bohatera, klikamy

Kod:
"Add Event"
, dalej

Kod:
"Collision"
i wybieramy obiekt ściany. Po prawej stronie widzisz zakładki i klocki. Kliknij na zakładkę

Kod:
"move"
i wybierz z niej klocek

Kod:
"Start moving in a direction"
, następnie przerzuć go do pola

Kod:
"Actions"
. Kliknij na "kloc" i zaznacz

Kod:
"Self"
, z directions wybierz środkowy klocek a w speed napisz 8. Relative odznacz. Dodaj nowy event

Kod:
"<no key>"
z zakładki

Kod:
"Keyboard"
. Przerzuć do niego z zakładki

Kod:
"control"
klocek

Kod:
"If instance is aligned with grid"
. Otwórz go, zaznacz "self", w "snap hor" i "snap vert" wpisz 32. Odznacz "Not".
Następnie kliknij na zakładkę

Kod:
"move"
i wybierz z niej klocek

Kod:
"Start moving in a direction"
. Otwórz go i zaznacz "Self", z directions wybierz środkowy klocek a w speed napisz 8. Relative odznacz.
Teraz jak się pewnie domyślasz trzeba zrobić podobnie z każdym ruchem . Otóż zrób tak samo tylko np. dla ruchu w lewo zaznaczy strzałkę skierowaną w lewo i nadaj jej prędkość 4. I tak samo dla ruchu w prawo, tylko, że zaznacz strzałkę skierowaną w prawo. Pamiętaj o tym, że dla jakiegoś ruchu prędkość nadaj 4 a dla bezruchu 8. Po wykonaniu tych czynności otwórz objekt "mety".
Dodaj do niego event kolizji z bohaterem. Z zakładki

Kod:
"main1"
dodaj klocki:

Kod:
"If next room exists"
,

Kod:
"Go to next room"
. Następnie z zakładki

Kod:
"control"
dodaj klocek

Kod:
"Else"
a z zakładki

Kod:
"main2"

Kod:
"Restart the game"
.
Wreszczcie spokój z kodowaniem. Teraz tylko zbuduj level a najlepiej dwa abyś mógł sprawdzić jak działa klocek przenoszący do następnego poziomu. Jeśli czegoś nie rozumiesz to zassaj przykład:

Kod:
http://www.icytowerfun.republika.pl/art.gm6



Kod:
Ricardinho
:-P
P.S Podziękowania dla Jakima za beta testing