Základní akce pomocí GML kódu - Řízení (Control)

Ostatní jazyky GameMaker GML Základní akce pomocí GML kódu - Řízení (Control)

Questions (otázky)

'Check Empty'

if place_free(x,y){ //pro solid objekty
//akce
}
if !place_empty(x,y){ //pro vše
//akce
}

'Check Collision'

if !place_empty(x,y) //vše
if place_meeting(x,y,all) //vše
if !place_free(x,y) //solid
// zde jsou další kódy, které umožňují kolize kontrolovat pokročileji
if collision_point(x,y,obj,prec,notme) {
//akce
if collision_rectangle(x1,y1,x2,y2,obj,prec,notme) {
//akce
}
if collision_circle(xc,yc,radius,obj,prec,notme) {
//akce
}
if collision_ellipse(x1,y1,x2,y2,obj,prec,notme) {
//akce
}
if collision_line(x1,y1,x2,y2,obj,prec,notme) {
//akce
}

'Check Object'

if place_meeting(x,y,object0){
//akce
}

'Test Instance Count'

if instance_number(obj)=hodnota{
//akce
}

'Test chance'

if floor(random(hodnota))=0 {
//akce
}

'Check Question'

if show_question('Souhlasíte?') {
//akce zde -> pokud uživatel zmáčkne ano
}

'Test Expression'

if (příkaz) {
// akce
}//příkaz může vypadat podobně jako následující ukázky x=5, y>10, global.item='Apple'.

'Check Mouse'

if mouse_check_button(numb) {
//akce
}
// numb může být mb_none,mb_left, mb_middle,mb_right.

'Check Grid'

if place_snapped(hodnota,hodnota) {
//akce
}

Other (ostatní)

'Start Block' 'End Block'

'Else'

//všechny příkazy použité u if a else jsou jen ukázka použití příkazu else
if x=50 {
hspeed=2;
vspeed=-2;
}
else{
motion_set(90,1);
}

'Exit Event'

exit;

'Repeat'

repeat(hodnota)<akce>;
//příklad: repeat(10) instance_create(x,y,object0);

'Call Parent Event'

event_inherited();

Code (kód)

’Execute Code’//ikona ve které je umístět všechen gml kód

'Execute Script'

script_execute(ind,arguments);
// lze také script zavolat pomocí jeho názvu s argumenty v závorkách

'Comment'

//můžete použít buď dvě lomítka '//' a za ně psát komentář
/* nebo použít '/*' a psát víceřádkový komentář dovnitř '*/' */

Variables (proměnné)

'Set Variable'

// ukázka nastavování vestavěných proměnných a vlastních
health=50;
lives=3;
name='Gordon';
//Můžete použít 'global.' pro používání proměnné ve více objektech
global.name='Gordon';
//pro vestavěné promenné jako lives, helath... se global nepoužívá

'Test Variable'

//pro kontrolu použijte podmínku -> příklad
if lives=0 {
//akce
}

'Draw Variable'

draw_text(x,y,global.name);
draw_text(x,y,lives);

 

  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


 



 

 

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

Avatar
David Jančík [sczdavos]:

Příkaz instance_number funguje stejně jako jeho ekvivalent v ikonkách. Jako parametr jí zadáš objekt, jehož počet chceš vrátit a pak vrácenou hodnotu porovnáš a výstupem bude logická hodnota. Pokud bude true (pravdivá) pak se provedou akce uvedené v bloku pod podníkou. Jinak akce v else.

Uvedu příklad:

if (instance_number(obj_prisera) == 0)
{
   show_message("Výborně všechny příšery jsou mrtvé");
}
else
{
   show_message("Ještě zbývá " + string(instance_number(obj_prisera)) + " příšer");
}
Odpovědět 6.7.2012 17:23
Čím více času dostaneš, tím méně ho máš.
Avatar
Sifu 123
Člen
Avatar
Sifu 123:

Zdravím, nevíte co znamená akce 'Exit Event'?

Odpovědět 2.5.2013 21:10
Waddle On!
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Sifu 123
Petr Nymsa:

Nevím to jistě, ale pravděpodobně to zajistí okamžité opuštění bloku

Odpovědět 2.5.2013 21:48
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Sifu 123
TomBen:

Používá se to většinou s podmínkou. Máš třeba obsluhu kliknutí myši
se střelbou a tam spoustu ikon. Na začátek dáš test, zda je lives <0
a potom exit event. Tím se přestane střílet, když dojdou životy.

Odpovědět 3.5.2013 4:05
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
Martin Bednář (xbedm01):

Nevíte někdo, co znamená "hodnota" v

if floor(random(hodnota))=0
Odpovědět 17.5.2013 15:57
I bez motta se dá žít
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Martin Bednář (xbedm01)
TomBen:

Vážně tě nenapadá, co by mohlo znamenat slovo hodnota??

Odpovědět 17.5.2013 16:17
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
Odpovídá na TomBen
Martin Bednář (xbedm01):

Já jsem úplnej lempl...
EDIT// Já fakt nevim

Editováno 17.5.2013 16:21
Odpovědět 17.5.2013 16:19
I bez motta se dá žít
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Martin Bednář (xbedm01)
David Čápka:

Že-by limit? :` Co jiného by mohla funkce random brát?

Odpovědět 17.5.2013 16:22
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
TomBen
Redaktor
Avatar
Odpovídá na Martin Bednář (xbedm01)
TomBen:

Co kdybys zkusil nějaké přirozené číslo... :D

Odpovědět 17.5.2013 16:32
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
Martin Bednář (xbedm01):

aha, já myslel, že to patří místo toho čísla 0... :D

Odpovědět  -3 17.5.2013 16:53
I bez motta se dá žít
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 17. Zobrazit vše