Základní akce pomocí GML kódu - Pohyb (Move)

Ostatní jazyky GameMaker GML 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);

 

  Aktivity (1)

Článek pro vás napsal David Jančík [sczdavos]
Avatar
Autor je vášnivý programátor v .NET C# a PHP. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.

Jak se ti líbí článek?
Celkem (5 hlasů) :
55555


 


Miniatura
Předchozí článek
BlowWind Benchmark
Miniatura
Všechny články v sekci
GameMaker - GML

 

 

Komentáře
Zobrazit starší komentáře (6)

Avatar
evielko
Člen
Avatar
evielko:

problém vyrešený ďakujem za Vami strávený čas tu diskutovať :-)

btw. neide mi dostať sa do zložky GM... tvorba her->GameMaker- po kliknutí sa mi zobrazí len ikonka :o

 
Odpovědět 25.7.2012 13:24
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na evielko
David Čápka:

A nefunguje ti jen tato jedna záložka?

Odpovědět 25.7.2012 14:08
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
evielko
Člen
Avatar
evielko:

už ide šetko ako má :-)

 
Odpovědět 25.7.2012 14:17
Avatar
-snaživec-
Člen
Avatar
-snaživec-:

nevedeli by ste mi niekto poradiť kód na spustenie programu?

Editováno 15.2.2014 13:13
Odpovědět 15.2.2014 13:13
Pomali ďalej zájdeš.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na -snaživec-
TomBen:
execute_program(prog,arg,wait)

nebo obecnější:

execute_shell(prog,arg);

edit:
funguje jen v GM8, studio to má vyhozené

Editováno 15.2.2014 13:30
Odpovědět 15.2.2014 13:27
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
-snaživec-
Člen
Avatar
Odpovědět 15.2.2014 13:46
Pomali ďalej zájdeš.
Avatar
ondraqa3
Člen
Avatar
ondraqa3:

Ahoj už ste to tu psali ale ja nevim jak na to kam s tím atd myslím

move_towards_po­int(mouse_x, mouse_y, speed); POOOMOOOCTE mi prosím díky

 
Odpovědět 12.8.2015 16:00
Avatar
ZbyStr
Člen
Avatar
ZbyStr:

Ahoj, docela mě zajímá to otevírání těch souborů. Dá se nějak udělat, aby se např. z textového dokumentu vyčetli data (např. úspěchy, lvl, nebo peníze) tak, aby se to potom vypsalo, když kliknu např. na tlačítko "Statistiky"? Děkuji za všechny odpovědi a popřípadné rady :) ZbyStr

Odpovědět 30. ledna 0:11
Jen vyvolený dokáže na internetu najít pravdivou věc.
Avatar
Tomáš Brůna
Redaktor
Avatar
Tomáš Brůna:

Koukni se dál, je tam tutoriál na ukládání a čtení z .ini souboru :)

Odpovědět 30. ledna 8:58
Lepší být šprt než blbec :)
Avatar
Garrom Orc Shaman:

Mně ten with(other) nefunguje, v nepříteli mám

if (place_meeting(x,y,parEnemy))
{
with(other)
{
other.hp -= 1;
}
instance_destroy();
}

a pokaždé to vyhodí tohle

VMError!! Occurred - Push :: Execution Error - Variable Get -2.hp(100021, 0)
 at gml_Object_oBullet_Step_0 (line 5) - other.hp -= 1;

skoro jako by slovo orher bylo ignorováno a místo něho použito self

Odpovědět 24. března 16:52
We're orcs, maybe we are not always wise or beautiful, but we will always be strong, outnumbered and well armed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 16. Zobrazit vše