Diskuze: variable_global_get
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Ne, úplný ekvivalent neexistuje. Na co ji potřebuješ?
Ve hře vyberu určitý druh vylepšení a kliknu na tlačítko "upgrade". Toto tlačítko zvýší proměnnou náležející danému druhu vylepšení o 1. Tato proměnná je uložena v jiném obejtku. Tlačítko "upgrade" pouze získá název této proměnné a pomocí variable_global_set a variable_global_get ji zvýší. Vyhýbám se tím vypisováním všech názvů proměnných s uloženými daty levelu vylepšení a jednoduše můžu přidat nový druh vylepšení bez jakékoli změny tlačítka "upgrade".
Takto vypadá kód ještě z GM 8.0 .. Je možné, že získávání lokální proměnné přes 2 objekty nebude v GMS fungovat.
nazev_promene = obj_hangar.upgrade_object.global_variable;
variable_global_set(nazev_promene,variable_global_get(nazev_promene) + 1);
Pokud by nebylo možné něco podobného použít v GMS, nenapadá tě podobné řešení, díky kterému bych se vyhnul vypisování všech proměnných? Přijde mi to nepraktické.
Nějak jsem se v tom ztratil. Když přece chci udělat upgrade různých herních prvků, musím stejně nějak tlačítku sdělit jaký prvek má zlepšovat. Čili třeba tři různé objekty mají svůj zlepšovací proces a pak třeba výběrem myši zvolím jeden z nich. Kliknu na Upgrade tlačítko a tím se objekt, respektive jeho instance zlepší. Takhle to myslíš?
Všechny objekty mají stejný proces zlepšování, úplně stejný. Rozdíl je jen v proměnné, která se vylepšuje a v ceně vylepšení.
On to zas takový problém není, můžu to udělat i jinými způsoby.. Jen jsem byl líný to celé překopávat, tak jsem hledal ekvivalent této funkce
Zobrazeno 5 zpráv z 5.