měl bych dotaz na někoho znalejšího v přípravě wiga. Při tvorbě nelineární hry jsem narazil na problém, u kterého mi není moc jasný jeho důvod. I přes existenci příkazu nastav: zóna.aktivní=nepravda zůstává při spuštění hry v emulátoru zóna aktivní. Toť v kostce, teď se to pokusím rozepsat podrobněji.
Jedná se o nelineární hru, ve které musí hráč navštívit pět ze sedmi zón, aby mohl pokračovat dále. Jakmile hráč daný počet zón navštíví, je zavolána funkce obsahující úkol (viz schéma níže).
(když je samozřejmě stejně pro každou ze sedmi zón)
Nicméně, jednou mi zůstane aktivní jedna zóna, jindy dvě (vždy se však jedná o zónu/zóny, které nebyly navštíveny).
Problém jsem tedy obešel tím, že jsem ve funkci úplně vynechal když/jindy a umístil za sebe nastav: zóna.aktivní=nepravda pro každou zónu, ať už byla zóna navštívena či nikoli (viz schéma níže).
Přesunutí jsem už zkoušel, výsledek je stejný. A ano, pokud udělám sedmkrát zasebou nastav: aktivní=nepravda, vše funguje (ostatně, jak už jsem psal v prvním příspěvku, to už mne napadlo). Tedy ano, funguje to, ale proč druhý postup s když tropí neplechu?
Jak může být zpráva "stornovaná"? Mám většinu deaktivací a aktivací zón dělaných právě po odkliknutí zpráv. Je to velký problém?
Může to být problém. V podstatě stačí, když má uživatel zprávu zobrazenu, ale neklikne na ni (tedy se další příkazy neprovedou) a například vstoupí do nějaké další zóny, která provede akci. Zpráva v tu chvíli z obrazovky zmizí, ale příkazy se neprovedly. A nemusí to být jen vstup do jiné zóny, těch možností vyvolání akce může být více. Nejdůležitější je potřeba dát si pozor na to, že hráči nikdy nemají stabilní signál, tudíž se často stává, že vstoupí do zóny, ve chvíli, kdy čtou nějaké dialogy, tak signál zónu opustí a pak například do zóny znovu vstoupí, čímž může vyvolat znovu reakci.