Programátorská sociální síť a materiálová základna pro C#, Java, PHP, HTML, CSS, JavaScript a další.


Přihlásit se Registrace  

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

Zpět do sekce GameMaker - GML

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

 

Autor: sczdavos
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í. Studuje střední školu informačních technologií v Brně.

Jak se vám líbí článek?
Celkem (2 hlasů):
5 5 5 5 5


 


Předchozí článek
Základní akce pomocí GML kódu - Hlavní sada 2 (Main 2)
Pokročilejší uživatelé píši hry v GameMakeru pomocí GML kódu, který má širší možnosti. Tento tutoriál vás naučí příkazy pro alarmy, info, uložení hry.
Všechny články v sekci
GameMaker - GML
Další článek
Základní akce pomocí GML kódu - Skóre, životy a zdraví
Pokročilejší uživatelé píši hry v GameMakeru pomocí GML kódu, který má širší možnosti. Tento tutoriál vás naučí příkazy pro skóre, životy a zdraví.


 

 

Vaše komentáře:
Zobrazit starší komentáře (7)

06.07.2012 17:23:08
Avatar
sczdavos
Moderátor
Skill: Kvantový počítač
DotDotDotDotDotDotDotDotDotDot

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   i++; | i--;
Čím více času dostaneš, tím méně ho máš.
02.05.2013 21:10:27
Avatar
Sifu 123
Člen
Skill: Kalkulačka
DotDotDotDotDotDotDotDotDotDot

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


Odpovědět   i++; | i--;
Waddle On!
02.05.2013 21:48:03
Avatar
Zirko
Moderátor
Skill: Core 2 Duo
DotDotDotDotDotDotDotDotDotDot
Odpovídá na Sifu 123:

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


Odpovědět   i++; | i--;
Pokrok nezastavíš, neusni a jdi s ním vpřed
03.05.2013 04:05:39
Avatar
TomBen
Moderátor
Skill: Core i7 extreme
DotDotDotDotDotDotDotDotDotDot
Odpovídá na Sifu 123:

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   i++; | i--;
Otevřu okna, vysypu koš a kouknu se co mám ve schránce. Na chatu mě nehledejte, chatu nemám.
17.05.2013 15:57:23
Avatar
xbedm01
Člen
Skill: Vědecká kalkulačka
DotDotDotDotDotDotDotDotDotDot

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

if floor(random(hodnota))=0

Odpovědět   i++; | i--;
S PSPadem nejdál dojdeš!
17.05.2013 16:17:30
Avatar
TomBen
Moderátor
Skill: Core i7 extreme
DotDotDotDotDotDotDotDotDotDot
Odpovídá na xbedm01:

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


Odpovědět   i++; | i--;
Otevřu okna, vysypu koš a kouknu se co mám ve schránce. Na chatu mě nehledejte, chatu nemám.
17.05.2013 16:19:32
Avatar
xbedm01
Člen
Skill: Vědecká kalkulačka
DotDotDotDotDotDotDotDotDotDot
Odpovídá na TomBen:

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

Editováno Včera 16:21


Odpovědět   i++; | i--;
S PSPadem nejdál dojdeš!
17.05.2013 16:22:54
Avatar
sdraco
Moderátor
Skill: Kvantový počítač
DotDotDotDotDotDotDotDotDotDot
Odpovídá na xbedm01:

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


Odpovědět   i++; | i--;
You only get one shot, do not miss your chance to blow. This opportunity comes once in a lifetime.
17.05.2013 16:32:27
Avatar
TomBen
Moderátor
Skill: Core i7 extreme
DotDotDotDotDotDotDotDotDotDot
Odpovídá na xbedm01:

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


Odpovědět   i++; | i--;
Otevřu okna, vysypu koš a kouknu se co mám ve schránce. Na chatu mě nehledejte, chatu nemám.
17.05.2013 16:53:38
Avatar
xbedm01
Člen
Skill: Vědecká kalkulačka
DotDotDotDotDotDotDotDotDotDot

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


Odpovědět   i++; | i--; ( -1 )
S PSPadem nejdál dojdeš!

 

Zobrazeno 10 z 17 zpráv

Zobrazit všechny komentáře k článku

Přidat novou zprávu

Avatar
Neregistrovaný

Pro výhody se přihlaš. Pokud ještě nemáš účet, zaregistruj se.

Jméno:
E-mail:
Web:

Šťastný Smutný S vyplazeným jazykem Mrkající Smějící se Plačící Cool Nemocný Naštvaný S brýlemi Stydící se On to nebyl Překvapený Hodně překvapený Šokovaný Srdce sdraco
Vložení obrázků Obrázky mohou nahrávat pouze registrovaní uživatelé
Vložení dlouhého zdrojáku Pouze pro registrované

 

Pro ověření prosím zaškrtněte pravdivá tvrzení:
Registrovaní uživatelé se tímto zdržovat nemusí. Zaregistrovat se

Píši proto, že zpráva má užitečnou hodnotu
Nejsem robot
Jsem člověk
Budu respektovat pravidla