1. fül (Move)
Move Fixed/Move Free
A két Action lényegileg megegyezik, a Move Free annyival bővebb, hogy itt már adott értéket tudunk megadni az irányhoz is. Kódban két változót használunk ezek megadásához:
direction=
speed=
Move Towards Point
Ezt az Action-t akkor használjuk ha azt szeretnénk, hogy az Object egy adott pont irányába haladjon. Ennek GML-ben a megfelelője a következő funkció:
move_towards_point(x,y,sebesség)
Speed Horisontal/Speed Vertical
Ez a két Action az Object vízszintes és függőleges irányú sebességének megadására alkalmas, könnyen helyettesíthető két változóval:
vspeed=
hspeed=
Set Gravity
Ez a Lib alkalmas platform játékoknál megadni a gravitációt, de használható bármilyen irányú adott nagyságú egyenletes gyorsuláshoz is. Ennek helyettesítére két változót használunk:
gravity=
gravity_direction=
Reverse Horisontal/Reverse Vertical
Ez a két action nem csinál mást mint visszafordítja az Object-et vízszintes vagy függőleges irányban. (A vízszintes vagy a függőleges sebességét megszorozza -1 el.) Kódban a következő képpen néz ki:
vspeed=hspeed*-1
hspeed=vspeed*-1
Set Friction
Ez alkalmas az Object-nek egy egyenletes lassulást (súrlódást) beállítani, kódban ez is egy változóval helyettesíthető:
friction=
Jump to Position
Itt egyszerűen megadhatjuk az x és y koordinátát ahova át szeretnénk helyezni az Object-et:
x=
y=
Jump to Start
Ez az Action arra voló hogy az Object visszaugrik a kezdőhelyére, azonban nem helyettesíthető GML-ben (illetve akkor helyettesíthető ha kezdéskor változókban tároljuk a pozicióját.)
Jump to Random
Ez az Action akkor lehet hasznos ha egy Object-et át szeretnék tenni egy véletlenszerű helyre, megadhatjuk azt is ha rácshoz szeretnénk igazítani. Kódban ez kicsit bonyolultabb, a következő képpen helyettesíthető (a példában 32 pixel széles és magas rácshoz igazítottuk.):
x=floor(random(room_width)/32)*32
y=floor(random(room_height)/32)*32
Aglin to Grid
Az adott Object-et megadott nagyságú rácshoz igazítja, kódban (rács szélessége és magassága 32):
x=floor(room_width/32)*32+32/2
y=floor(room_height/32)*32+32/2
Warp Screen
Ha az Object kimegy a képernyőből akkor átkerül a pálya átellenes oldalára. Ez is egy bonyolultabb kóddal helyettesíthető:
if x>room_width then x=0
if x<0 then x=room_width
if y>room_height then y=0
if y<0 then y=room_height
Move to Contact
Ez az Action arra használható, egy Object-et egy adott irányba elmozdítson addig, hogy éppen találkozzon egy másik Object-el. Ez két féle kóddal helyettesíthető az Object-től függően:
move_contact_all(irány,max_elmozdulás)
move_contact_solid(irány,max_elmozdulás)
Bounce
Ezt az Action-t használjuk, ha azt szeretnénk elérni, hogy egy Object lepattanjon egy másikról, szintén két funkcióval helyettesíthető:
move_bounce_all(összetettség 0 vagy 1)
move_blunce_solid(összetettség 0 vagy 1)
Set Path
Ezt az Action akkor használjuk ha az Object-et egy előre megadott útvonalon szeretnénk mozgatni. Ez is egy funkcióval helyettesíthető:
path_start(path_neve,sebesség,ha_vége_történés,absolute)
ha_vége_történés lehet
0 - stop
1 - újrakezdés a kezdőponttól
2 - újrakezdés a jelenlegi helyről
3 - visszafelé újra végigjárás
absolute lehet:
true - a path valós kezdőhelyéről kezd
false - az object jelenlegi helyéről indul
End Path
Megálitja az Object-et, akárhol tart az útvonalon, ez GML-ben egy paraméter nélküli funkció:
path_end()
Path Position
Az Object helye az adott útvonalon 0-1 -ig terjedő értéket vehet fel, 0 a Path eleje, 1 a vége. Kódban egy változóval hivatkozhatunk rá:
path_position
Path Speed
Ezzel adhatjuk meg az útvonalon való haladás sebességét, kódban:
path_speed=
Step Towards Point
Ez a parancs nem helyettesíthető egy funkcióval GML-ben, hasonló mint a Move Towards Point azonban ez megáll ha találkozik egy másik Object-el
Step Avioding
Szintén nem helyettesíthető egy funkcióval, arra használhatjuk, hogy adott pont felé haladás közben kikerülje többi Object-et (lecsússzon róla)
Nincsenek megjegyzések:
Megjegyzés küldése