Základní akce pomocí GML kódu - Pohyb (Move)
Když používáte ikonky, nahoře si můžete nastavit pro jaký objekt bude akce použita. V kódu to uděláte následovně:
//jiný objekt with(objekt) { //akce } //other object -> při kolizi with(other) { //akce } //současný objekt -> samozřejmě psát nemusíte, ale pokud nahoře zaškrtnete použití pro jiný objekt a chcete použít nějakou akci pro současný uděláte to takto with(self) { //akce }
Záložka MOVE
Pohyb
'Move Fixed'
'Move Free'
motion_set(směr,rychlost);
'Move Towards'
move_towards_point(x,y,rychlost);
'Speed Horizontal'
hspeed=rychlost;
'Speed Vertical'
vspeed=rychlost;
'Set Gravity'
gravity_direction=směr; gravity=velikost;
'Reverse Horizontal'
hspeed=-hspeed;//celý kód
'Reverse Vertical'
vspeed=-vspeed;//celý kód
'Set Friction'
friction=amount;
Jump (skoky)
'Jump to Position'
x=value; y=value;
'Jump to Start'
x=xstart;//celý kód y=ystart;//celý kód
'Jump to Random'
move_random(1,1);//celý kód. jedničky nastavují hsnap a vsnap
'Align to grid'
move_snap(hsnap,vsnap);
'Wrap Screen'
move_wrap(hort,vert,margin);// toto by mělo být v outside eventu. Hort (horizontální) a vert (vertikální) nastavte 1 -> ano, 0 ne. Margin určuje vzdálenost za hranicí obrazovky kam až se instance dostane než se provede akce wrap screen.
'Move to Contact'
move_contact_solid(směr,maxvzdálenost)//pro solid objekty move_contact_all(směr,maxvzdálenost)//pro všechny objekty
'Bounce'
move_bounce_solid(advanced);//pro solid objekty, advanced -> předem odrazit (0 nebo 1). move_bounce_all(advanced);//pro všechny objekty, advanced -> předem odrazit (0 nebo 1).
Paths (cesty)
'Set Path'
path_start(cesta,rychlost,akce_na_konci,absolutní);
'End Path'
path_end();
'Path Position'
path_position=hodnota;//hodnota musí být mezi 0 a 1
'Path Speed'
path_speed=hodnota;//pixelů za krok
Steps (kroky)
'Step Towards'
mp_linear_step(x,y,velikost_kroku,kontrolovat_vše); // velikost kroku -> v pixelech. kontrolovat vše může být 1 -> všechny objekty, 0 -> solid objkety
'Step Avoiding'
mp_potential_step(x,y,velikost_kroku,kontrolovat_vše);