Ten artykuł został stworzony dla starszych wersji GameMakera i może nie być aktualny.

Z klocków na kod

Sobota, 11 Września 2004, 21:37
Czas czytania 11 minut, 45 sekund
Zgodne z GM: gm5 gm6 gm7 gm8
Artykuł zawierający opisy podstawowych klocków, dzięki któremu będzie nam łatwiej przejść z klocków na GML
Ten artykuł posiada kilka stron.
Napewno spotykając się z Game Makerem zadawaliśmy sobie pytanie: "Jak zacząć przygodę z GML?". W tym artykule postaram się wam z tym pomóc.
Skrypty podzielę tak na kategorię, jak jest to w klockach. Przydatne informacje dam w "//" Dzięki nim w kodzie GML możemy pisać komentarze, ale o tym później.

Więc zacznijmy.

PAMIĘTAJ! Jeżeli chcesz mieć działanie równoznaczne z other, to dajesz na początku with(other). Jeżeli ma to być z innym objektem to with(nazwaobjektu).

Zakładka Move.

Ramka Move
Start moving in a direction - action_move("111111111",5); // założenie w tym jest takie, że każda z tych jedynek oznacza kierunek. Jest to tak jak w klocku i np. 2 jedynka oznacza pójście w górę. Liczba na samym końcu oznacza prędkość. Jeżeli po liczbie oznaczającej prędkość dopiszemy +speed będzie się to będziemy mieli taki wynik jaki mamy po zaznaczeniu relative.

Set direction nand speed of motion - motion_set(0,5); // pierwsza cyfra oznacza kierunek, a druga prędkość. W przypadku gdy chcemy zrobić to na relative, to przed pierwszą liczbą dajemy direction+ a przy drugiej speed+

Set the horizontal speed - hspeed=5 // wartość liczbowa to prędkość. Jeżeli chcemy dać na to Relative, to po tym piszemy +hspeed

Set the vertical speed - vspeed=5 // wartość liczbowa to prędkość. Jeżeli chcemy dać na to Relative, to po tym piszemy +vspeed

Move towards a point - move_towards_point(0,0,5) // pierwsza cyfra oznacza X, druga Y, a trzecia Speed. Jak w innych przypadkach jak chcemy relative to dodajemy X+ , jeżeli do wartości Y to Y+ , a jak speed to speed+ . Oczywiście dajemy to przed daną liczbą.

Set a path for instance - path_index=nazwa_path; // nazwa_path zastępujesz własną nazwą
speed=0; // tu ustalasz prędkość
path_position=0; // a tu pozycję

Set the gravity - gravity_direction=0 // kierunek grawitacji, jeżeli chcemy relative to dopisujemy +gravity_direction
gravity=0 // moc grawitacji. Jeśli ma być relative to dajemy na końcu +gravity.

Set the friction - friction=0 // wartość ustala moc wiatru, jeżeli chcemy żeby był Relative, to dopisujemy +friction

Ramka Jump

Jump to a given position - x=0 // jak relative chcecie, to dopisujecie przed liczbą x+
y=0 // jeżeli ma być relative to dopisujecie y+ przed wartością liczbową

Jump to a start position - x=xstart;
y=ystart;


Jump to a random position - move_random(0,0); // pierwsza wartość liczbowa oznacza snap hor, a druga snap vert

Snap to a grid - move_snap(16,16); // liczby te oznaczają wielkość grida

Ramka React

Reverse horizontal direction - hspeed*=-1

Reverse vertical direction - vspeed*=-1

Move to a contact position (z solid) - move_contact_solid(0,-1); // pierwsza liczba oznacza wartość direction, a druga maximum

Move to a contact position (z all) - move_contact_all(0,-1); // wartości są tak samo oznaczane jak powyżej

Bounce against objects (z solid) - move_bounce_solid(false); // jeżeli chcemy not precisely piszemy false, a jak precisely to true

Bounce against objects (z all) - move_bounce_all(false); // oznaczenie wartości tak jak powyżej

Z klocków na kod
Komentarze (łącznie 11):
l
~lion (Sob., 11 Wrz. 04, 21:48)
#1

Nie lepiej najpierw go skończyć, a potem dodawać?:]

Marmot (Sob., 11 Wrz. 04, 22:00)
#2

Chciałem żeby beginnerzy już mieli :) . Pozatym codzienne dodawanie nowego to dobre na naukę. Stopniowa nauka jest najlepsza.

A
Sadam (Sob., 11 Wrz. 04, 22:02)
#3

Marmot się wycwanił - Będzie codziennie dodawał po kilka definicji i że niby daje codziennie upy :D

Marmot (Sob., 11 Wrz. 04, 22:05)
#4

Jutro postaram się dać przynajmniej cały Move i fragment następnego, bo dzisiaj chciałem napisać część tego arta jako zapowiedź, a narazie jestem troszkę... śpiący :)

A
Anaconda (Nie., 12 Wrz. 04, 11:19)
#5

Hehe Marmot, ukradłeś mi pomysł na tutka :P

Marmot (Nie., 12 Wrz. 04, 11:38)
#6

:P

Marmot (Nie., 12 Wrz. 04, 17:16)
#7

Poprawiłem arta bo ten execute script troszkę zadługi był :)

l
lion (śro., 15 Wrz. 04, 17:46)
#8

Wescie napiszcie cos troche bardziej potrzebniejszego, bo po co beginerom kod jak maja gotowe klocki :] a zreszta sie tutaj nie wysililes, uzyc action decodera to nie problem

Marmot (Wto., 11 Paź. 05, 23:32)
#9

Wiecie co? Dopiero teraz zauważyłem, że to jest najdłuższy art na GMCLAN XD .

B
Belar (Sob., 27 Maj. 06, 14:11)
#10

Napisane zbyt skomplikowanie wg mnie =/ Jetsem początkujący i chcialbym się nauczyca tu... zonk

P
Patrysław (Beaver Interactive) (Nie., 28 Maj. 06, 11:08)
#11

W 'Download->Game Maker->Narzędzia' masz Action Decodera, a w 'Artykuły->Game Maker' znajduje się FAQ. Poza tym przeczesz tutoriale i przykłady. Możesz też pytać się na forum.

Najnowsze wersje GameMakera:

Stabilna
2024.4.1.152 • 2024.4.1.202
wydana  3 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 221 dni temu
Beta
2024.600.0.560 • 2024.600.0.577
wydana  wczoraj
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
9 użytkowników online na discordzie:
Papaj, Carl-bot, p..., LadyLush, VanhGND, MKP (GEM), Dyno, LeD, l...
Shoutbox
gnysek (10:09, 21.05.24)
Ale z jakimi błędami...
I am Lord (09:52, 20.05.24)
o piszą o nas 😁
Chell (11:15, 17.05.24)
nareszcie będzie można zaimplementować padający śnieg w gierce
gnysek (18:33, 16.05.24)
JS zmierza do GM xD
I am Lord (16:29, 05.05.24)
Czaję
gnysek (13:38, 04.05.24)
Nie wbudowują tego przez warunki licencyjne. Ale kto wie, może jako prefab zobaczymy to już w kolejnym wydaniu, bo wtedy prefaby mają zostać dodane.
I am Lord (12:17, 03.05.24)
Aha to trzeba coś tam jeszcze kombinować tak
gnysek (18:05, 01.05.24)
Tak, w osobnym rozszerzeniu (na githubie YYG).
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?