Proměnné - Co je to?
Proměnná je jednoduše řečeno kousek paměti, kam si můžeme uložit nějaká data. Může ukládat např. život hráče, počet jeho nábodů a podobně. Proměnná vždy patří konkrétnímu objektu.
Pokud máme uloženou tuto informaci, můžeme s ní dále pracovat. Např. při zasažení příšery odečteme z proměnné zivot 20. Dále otestujeme, zda je proměnná ještě kladná. Pokud ne, příšeru zničíme.
GameMaker obsahuje 3 základní předpřipravené proměnné: lives (životy), health (zdraví) a score (skóre). Kromě těch si však můžeme tvořit vlastní proměnné, jako např. zmíněné naboje a podobně.
Proměnnou založíme tím, že ji deklarujeme. V Game Makeru se to dělá jednoduše tak, že do ni uložíme nějakou počáteční hodnotu. Pokud se budeme snažit přistoupit k proměnné, která neexistuje, vyvolá to chybu. Např. proměnnou zivoty u příšery vytvoříme tak, že v události Create u objektu příšera nastavíme proměnnou zivoty na 100. Hned si ukážeme, jak se hodnota do proměnné nastavuje a jak se čte.
Ještě je dobré vědět, že v GameMakeru mají proměnné 2 typy: číslo a text. V programování se typům proměnných říká datové typy. Hodnotu textových proměnných píšeme do uvozovek.
Práce s proměnnými v GameMakeru
Proměnné pomocí ikonek
- pro nastavení proměnné slouží akce Set variable
z Controls
- zde zadáte pouze název nebo název s prefixem názvu objektu (prefixem se myslí např. hrac.naboje, pokud chceme nastavit náboje objektu hráč mimo tento objekt).
Aplies to: určuje kterému objektu se bude
proměnná nastavovat
variable: název promenné
value: její hodnota
relative: pokud zaškrtnete pak se hodnota přičte k
současné hodnotě proměnné
Dočasné proměnné
// deklarace dočasných proměnných // tyto proměnné jsou určené pro dočasné uložení nějaké hodnoty a nejsou přístupné v dalších částech kódu, označujeme je slůvkem var var temporary_1, temporary_2; temporary_1 = "dočasná proměnná"; //proto když například v eventu <on press SPACE> zavoláme fci show_message s parametrem temporary_1 dostaneme chybové hlášení o neexistující proměnné show_message(temporary_1);
Lokální promenné
// inicializace lokální proměnné local_variable = "lokální proměnná"; //tuto proměnnou můžeme používat kdekoliv v objektu show_message(local_variable); //jiný objekt //zároveň je možné k lokální proměnné přistupovat s jiného objektu show_message(object0.local_variable);
Globální proměnné
Globální proměnné jsou špatné a neměly by se používat. Pokud jste je někde viděli, bylo to špatně. Pokud vám je někdo radí, neposlouchejte ho. Dělá to mnoho lidí a je to špatně. Proč? Protože proměnná někomu patří. Když budeme ukládat počet nábojů hráče, proměnná naboje bude patřit objektu hráč. Neexistuje žádný důvod, proč ji dělat globální, naopak to přináší problémy s přepisováním a porušuje to zapouzdření a další principy objektového programování.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 275x (10.19 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker