Avatar
husarik.marek:

Ahoj,

jsem zoufalý z proměnných, respektive z jejich sdílení mezi různými objekty.
I když v objektu definuji proměnnou jako global.neco, druhý objekt ji někdy vidí, někdy systém vyhodí chybu.
Je v tom nějaký jasný řád?
Kde mám globální proměnné definovat, aby byly vždy použitelné ve všech objektech?
Díky

 
Odpovědět 25.12.2013 21:18
Avatar
Dminik
Neregistrovaný
Avatar
Dminik:

Ty globální budou aktivní když se vytvoří: Pokud máš na objektu dejmetomu Hráč
globální proměnou dejmetomu global.ZdravíH a tu pak chceš použít na nějakém objektu dejmetomu kulce tak ten Hráč musí býd vytvořený dříve (respektive ta proměnná musí být vytvořená dříve) tak se potom zobrazí i na ostatních objektech. Doufám že si to pochopil.

 
Nahoru Odpovědět 26.12.2013 2:38
Avatar
TomBen
Redaktor
Avatar
Odpovídá na husarik.marek
TomBen:

Tvůj problém bude přesně v tom, co píše neregistrovaný Dminik.
Musiš si dát pozor na to, kdy se co vytváří. Globální proměnné jsou samozřejmě viditelné vždy a všem objektům, od toho taky pramení název globální. Pokud tě to plete, používej více debug mode a pomocí funkce:
show_debug_mes­sage(string) si nechávej vypisovat obsahy proměnných v klíčových místech kódu. Nikdy nepoužívej globálních proměnných víc, než si jich dokážeš zapamatovat z hlavy. Tzn. musíš u nich vědět nazpamět, kde vznikají, kde je co ovlivňuje a jakou mají hodnotu v kterém okamžiku ( většina normálních lidí si nezapamatuje víc jak 5 kousků ). Když jich budeš mít víc, budeš se zbytečně trápit a tvoje výtvory půjdou častěji do kytek než by sis přál.

Nahoru Odpovědět 26.12.2013 17:45
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
husarik.marek:

Je nějak definováno pořadí, ve kterém se spouštějí objekty?
Nebo mám raději vytvořit jeden objekt, který všechny objekty postupně vytvoří v mnou požadovaném pořadí?
Díky

 
Nahoru Odpovědět 26.12.2013 20:11
Avatar
TomBen
Redaktor
Avatar
Odpovídá na husarik.marek
TomBen:

Vytvořeny jsou obvykle v tom pořadí, v kterém jsi je naklikal do místnosti v design fázi. Samozřejmě, že je můžeš vytvářet dynamicky za běhu a tím jejich pořadí určovat podle potřeby. Většinou to ale není třeba vůbec řešit. Při vytvoření objektu nastavíš proměnným hodnoty a když je během hry jiný objekt požádá, tak už dávno existují. Asi na to jdeš nějak od lesa. :-)

Nahoru Odpovědět 26.12.2013 22:08
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.