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.2.0.132 • 2024.2.0.163
wydana 15 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 154 dni temu
Beta
2024.400.0.516 • 2024.400.0.537
wydana  5 dni temu
= IDE, = Runtime
Użytkownicy online
2 użytkowników aktywnych:
gości: 1, userów: 1
 Adriann
(~ostatnie 15 minut)
Discord
16 użytkowników online na discordzie:
DungeonFairy🧚, Carl-bot, p..., Add92, SuperEnduro, Filyps, fervi, YoungKrystian, Kalor, antek, Uzjel, Dyno, Ulti, bagno, g..., Shockah
Shoutbox
I am Lord (19:15, 17.03.24)
6h mam na to hmmm
I am Lord (19:06, 17.03.24)
Ale temat fajny
gnysek (01:33, 13.03.24)
Powinno działać, jest w kodzie sortowanie wg. najbliższego startu :)
Uzjel (21:59, 11.03.24)
Nie, ale za pierwszym razem zrobiłem fuckup, że było "Tura testowa" X_X
I am Lord (16:58, 11.03.24)
A co Uzjel już masz nawymyślane 100 tematów? 😅
Uzjel (20:08, 10.03.24)
@gnysek a jak bym dodał kilka lig na raz to walnie?
Uzjel (20:08, 10.03.24)
Liga będzie zawsze od piątku 16:00 do poniedziałku 23:59, zawsze w środku miesiąca.
gnysek (08:48, 10.03.24)
Tak, to też jest do poprawy X_X
Adriann (18:22, 09.03.24)
Tylko myślę czy nie leiej gdyby mówiło że zostało tyle i tyle dni i ileś godzin a nie tylko w godzinach ;d Albo konkretna data obok, byłoby czytelniej
I am Lord (15:08, 08.03.24)
o super z tą ligą :)
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?