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);