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.13.1.193 • 2024.13.1.242
wydana 180 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 315 dni temu
Beta
2024.1400.0.907 •
2024.1400.0.894
 0.17.0

wydana  5 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
S
Sutikku (08:44, 13.10.25)
mam niedokończony projekt bota, którego dodaje się do discorda, a on synchronizuje wiadomości z discorda -> na readonly forum. Wtedy treści mogą być indeksowane z wyszukiwarek i łatwo dostępne bez logowania. No ale leży w czyśćcu i czeka.
Wojo (11:52, 11.10.25)
Może kiedyś powróci moda na fora internetowe. Pamiętam w sumie, że czasami aktywność rosła i malała, ale tak pusto to chyba jeszcze nigdy nie było i myślę, że ta cała migracja użytkowników jest zasługą Discorda i zmiany czasów. Po prostu lata dwudzieste spowodowały zmiany trendów w internecie
S
Sutikku (09:06, 08.10.25)
najwyższa pora zopensourcować kod gmclanu!
gnysek (10:33, 06.10.25)
Może tak zrobię :D Jak znajdę czas :D
I am Lord (10:49, 01.10.25)
Tutaj powinna być na głównej jakaś wielka informacja o tym że na Discordzie teraz wszystko jest
Wojo (20:34, 17.07.25)
Discordy i Facebooki pogrzebały erę forów internetowych...
gnysek (10:36, 04.07.25)
Bo wszyscy piszą na discordzie :)
M
Modnar23 (20:08, 29.06.25)
Ja po 13 latach postanowiłem się zalogować i widzę, że straszne pustki na forum. Kiedyś to aż huczało na forum. :)
Chell (08:18, 26.06.25)
to masz krótką pamięć, bo od 2014 jakoś nie wiadomo ilu nowych userów nie przybyło :-D
p
pablo1517 (18:34, 16.06.25)
Ja w sumie żadnego z tych nicków nie kojarze poza Gnyskiem xD
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?