Diskuze: Existuje proměnná?
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= 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.
Záleží na verzi. GM 8.x má na to funkce variable_(local/global)_exists(), ale GM Studio už je nepoužívá a tak v něm nejspíš existenci proměnných zjišťovat nelze. Pokud to nutně potřebuješ, tak si založ zvlášť objekt na tu jedinou proměnnou a zjišťuj existenci objektu. Ale většinou se tomu dá vyhnout.
Nenapadá mě k čemu je to dobré, pokud to potřebuješ, tak dost možná děláš nějakou hloupost.
V osmičce GM se to hodilo, když použiješ instanční creation code ve fázi designu a nechceš řešit, kterou proměnnou už jsi inicializoval ručně a kterou ne. Např. položíš do místnosti pět instancí objektu enemy_plane a třem z nich přidělíš ručně v creation code třeba ammo_power=28 pak 30 a 42. Pak chceš aby default byl 18. Kdybys do creation eventu dal prostě ammo_power=18, přepsaly by se ti i ty ručně editovatelné hodnoty z creation code. Tak napíšeš podmmínku, že pokud neexistuje ammo_power, má se založit a naplnit. Je to efektivní postup když často měníš hodnoty něčeho a balancuješ hratelnost. Tj. když nevíš předem správné hodnoty a nebudeš je vědět ještě třeba ani v beta verzi. Dá se to určitě udělat i jinak, ale takhle je to nejrychlejší za nejméně práce.
PS: v GMS to nejde i proto, že se creation code spouští až po creation eventu ( prostě pakárna )
Zobrazeno 4 zpráv z 4.