Game Maker – základy proměnných
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Game Maker – základy proměnnýchGame Maker – základy proměnných

 

Game Maker – základy proměnných

Google       Google       23. 3. 2012       14 941×

V tomto článku vám představím základy proměnných v Game Makeru. Ukážeme si, jak proměnné vytvářet, jak do nich zapisovat, vykreslovat je, globální proměnné i pole (array). Jak v GML, tak i v jiných programovacích jazycích jsou proměnné velmi důležité.

Co jsou to proměnné?

Proměnná je libovolný definovaný prostor, do kterého se postupně podle potřeby ukládají informace. Do proměnných se zapisují informace pomocí: 

  • hodnot/čísel - real
  • řetězce/textu - string
  • konstanty - True nebo False (zastupují čísla 1, 0 a používají se ke zjištění, jestli děj probíhá: true, nebo neprobíhá: false)

Pozor!

Názvy proměnných v sobě nesmí mít znaky s diakritikou a nesmí být delší než 64 znaků. Dále není dobré, když má proměnná stejný název s objektem, spritem nebo funkcí, jelikož by se při zadávání příkazů mohly názvy rušit.

Proměnné platí jen pro jeden objekt, a to ten, ve kterém jsou definované. Existuje však i globální proměnná, která platí pro všechny objekty.

Definice proměnné

Proměnná se definuje snadno:

nazev_promenne = hodnota_promenne; // proměnná real (číselná hodnota)
nazev_promenne2 = "text_promenne"; // proměnná string (textová hodnota)
nazev_promenne3 = true; // logická proměnná (true, tedy hodnota 1, což nám kontroluje, že děj probíhá, v opačném případě false, tedy hodnota 0)

Změna hodnoty proměnných

Je spousta způsobů, jak hodnoty proměnných změnit. Dá se "ráz na ráz" změnit, odečíst, přičíst, vynásobit...

Definujte si proměnnou, s kterou teď budeme pracovat (pojmenujeme ji promenna). Zatím si ukážeme, jak měnit číselnou hodnotu:

promenna = 10;

Teď vám ukáži pár čistě matematických způsobů, jak jí změnit hodnotu:

promenna = 20; // přímé změnění hodnoty z 10 na 20
promenna += 5; // přičtení čísla 5 k hodnotě 10 (výsledek 15)
promenna -= 5; // to samé, akorát se  odečte (výsledek 5)
promenna *= 5; // vynásobí proměnnou číslem 5 (výsledek 25)
promenna /= 2; // vydělí proměnnou číslem 2 (výsledek 5)

Pokud si vytvoříme další proměnnou, můžeme ji od první třeba odečíst:

promenna -= druha_promenna + druha_promenna * 2;

Na změnu proměnných se dají samozřejmě použít i složitější matematické operace:

promenna = 5 + (promenna + (3 * druha_promenna)) / (5 + treti_promenna);

V proměnné String je to o něco kratší. Tam se dá použít jen sčítání řetězců do sebe nebo přímé měnění hodnoty. Ukážeme si to na tomto jednoduchém příkladu. Definujeme si proměnnou:

promenna_text = "krasny";

A teď si ukážeme, jak k ní přičíst jiný string:

promenna_text += " den"; // výsledkem bude krasny den (musíte napsat " den" a ne "den", jinak byste mezi slovy neměli mezeru)

Nebo také můžeme změnit celou hodnotu:

promenna_text = "zmena";

Jak jsem psal výše, proměnná platí jen pro objekt, ve kterém je definovaná. Jestliže ale chcete upravovat proměnnou v jiném objektu, než kde je definovaná, můžete to provést takto:

hrac.promenna = 10; // teď jsme změnili hodnotu v objektu hrac na 10

Další možností jsou globální proměnné, které platí pro všechny objekty ve hře. Vytvoříme si ji takto:

global.nazevpromenne = 6; // vytvořili jsme si globální proměnnou s hodnotou 6

Tuto proměnnou můžeme upravovat v jakémkoliv objektu tímto způsobem:

global.nazevpromenne = 4 // dále ostatními způsoby jako u ostatních proměnných

Vykreslování proměnných

Proměnné se dají samozřejmě vykreslovat do Roomu, toho se využívá například při životech nebo score...

Opět jako u zápisu je i vykreslování číselných a textových proměnných trochu odlišné. Nejdříve si vykreslíme číselnou proměnnou (budeme pracovat s proměnnými, které jsme si už vytvořili - promenna a promenna_text)

draw_text(x,y,string(promenna)); // vykreslí nám hodnotu číselné proměnné; string konvertuje číslice na text (řetězec), jelikož draw_text umí ukazovat jen řetězce

Text vykreslíme takto:

draw_text(x,y,promenna_text); // jednoduchý příkaz, který nám přímo vypíše hodnotu proměnné (text)

Array (pole)

Pole jsou proměnné pro složitější příkazy. Je to prakticky jedna proměnná s více hodnotami a vypadá takto:

promenna[0] = "Hra"
promenna[1] = "Film"
promenna[2] = "Program"

A jak vybereme z těchto hodnot jednu? Jednoduše. Zkusíme si ji třeba vykreslit:

draw_text(x,y,promenna[2]); // vykreslí se nám promenna[2]

Další způsob je zkombinovat to s další proměnnou. Definujeme si proměnnou:

test = 1

A pomocí ní vykreslíme proměnnou, kterou chceme:

draw_text(x,y,promenna[test]); // vykreslí se nám promenna[1], jelikož test má hodnotu 1, což nám nahradí číslo v závorce

Pokud potřebujete ještě složitější proměnné, existují ještě dvourozměrná pole:

promenna[0,0] = "Nula"
promenna[0,1] = "Jedna"
promenna[0,2] = "Dva"

promenna[1,0] = "Pes"
promenna[1,1] = "Kocka"
promenna[1,2] = "Krecek"

Na závěr si ukážeme, jak vybrat náhodný Array:

nahodna_promenna = promenna[choose(0,1,2)];

A vypíšeme ji takto:

draw_text(x,y,nahodna_promenna);

To je pro tento článek vše.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

1 názor  —  1 nový  
Hlasování bylo ukončeno    
6 hlasů
Google
(fotka) Michal BubíkMichal se zajímá o programování v Game Makeru a 3D grafiku v Blenderu. Učí se programovat v HTML a PHP. Chodí do 1. ročníku střední průmyslové školy ve Zlíně. Je učenlivý, společenský a má smysl pro humor. Jako koníček má hraní na akustickou a elektrickou kytaru.
Facebook    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý