Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

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

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

ONEbit hosting Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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

 

 

Článek pro vás napsal David Jančík
Avatar
Jak se ti líbí článek?
5 hlasů
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í.
Miniatura
Předchozí článek
BlowWind Benchmark
Miniatura
Všechny články v sekci
GameMaker - GML
Aktivity (1)

 

 

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

Avatar
evielko
Člen
Avatar
evielko:25.7.2012 13:24

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:25.7.2012 14:08

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:25.7.2012 14:17

už ide šetko ako má :-)

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

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:15.2.2014 13:27
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
-snaživec-:15.2.2014 13:46

dik

Odpovědět 15.2.2014 13:46
Pomali ďalej zájdeš.
Avatar
ondraqa3
Člen
Avatar
ondraqa3:12.8.2015 16:00

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:30.1.2016 0:11

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.1.2016 0:11
Jen vyvolený dokáže na internetu najít pravdivou věc.
Avatar
Tomáš Brůna
Redaktor
Avatar
Tomáš Brůna:30.1.2016 8:58

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

Odpovědět 30.1.2016 8:58
Lepší být šprt než blbec :)
Avatar
Garrom Orc Shaman:24.3.2016 16:52

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.3.2016 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