Ahoj,
dostal jsem nový úkol. Chce se po mě, abych udělal: Když hráč stikne klávesu "TAB" zobrazí se na scéně obrázek hvězdičky, tam kde jsou interaktivní místa. Prototyp mám už sestavený. Ale vím že do budoucna s tím budu mít velkou práci. A pak se také bojím, jestli to nezpomalí hru.
Accessibility, tam lze zapnout tuto funkci. Bohužel, scénáristovi se nelibí takováhle "obyčejnější" metoda, a chce to tak jak jsem zde popsal. Ve wme to fugnuje že se postupně proklikávam interaktivníma mistama, on ale chce na každou scénu jednu možnost použítí této funkce a plynulé zobrazení všech míst hvězdičkou. Hráč teda v každé sceně může použit nápovědu pomocí "TAB" pouze jednou. Zde vidítě co jsem napsal do game.scriptu, hra bude mít ale 66 lokací a budu sem muset umístit switch o 66 možnostech. Do každe z nich ale vložím příkaz attach script, abych neměl game.script tak dlouhej. Chci se zeptat, jestli to takhle může ovlivnit plynulý chod hry?
Prohledal jsem dokumentaci, ale našel jsem pouze accessibility. Je i jiná možnost jak tento úkol splnit?

if(Keyboard.KeyCode==VK_TAB)
{
global pouziti_tab;
if(pouziti_tab.Active)
{
}
else
{
pouziti_tab.Active = true;
var alfa = 255;
var kniha_hvezda = Scene.GetNode("hvezda_kniha");
var kniha2_hvezda = Scene.GetNode("hvezda_kniha2");
var nic_hvezda = Scene.GetNode("hvezda_nic");
var kniha = Scene.GetNode("kniha");
var kniha2 = Scene.GetNode("kniha2");
var nic = Scene.GetNode("nic");
if(kniha.Active)kniha_hvezda.Active = true;
if(kniha2.Active)kniha2_hvezda.Active = true;
if(nic.Active)nic_hvezda.Active = true;
// plynule zobrazeni
for (alfa=1; alfa<254; alfa=alfa+4) //zapnutí hvězd
{
kniha_hvezda.AlphaColor = MakeRGBA(255,255,255,alfa);
kniha2_hvezda.AlphaColor = MakeRGBA(255,255,255,alfa);
nic_hvezda.AlphaColor = MakeRGBA(255,255,255,alfa);
Sleep(10);
}
Sleep(1000);
//plynule schovat
for (alfa=254; alfa>20; alfa=alfa-4) //pohasnutí hvězd
{
kniha_hvezda.AlphaColor = MakeRGBA(255,255,255,alfa);
kniha2_hvezda.AlphaColor = MakeRGBA(255,255,255,alfa);
nic_hvezda.AlphaColor = MakeRGBA(255,255,255,alfa);
Sleep(10);
}
kniha_hvezda.Active = false;
kniha2_hvezda.Active = false;
nic_hvezda.Active = false;
}
}