Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
husarik.marek:25.12.2013 21:18

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:26.12.2013 2:38

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
Tvůrce
Avatar
Odpovídá na husarik.marek
TomBen:26.12.2013 17:45

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:26.12.2013 20:11

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
Tvůrce
Avatar
Odpovídá na husarik.marek
TomBen:26.12.2013 22:08

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.