Mno...trochu zalezi na tom, jak mas resene ovladani, ale v podstate by mel stacit takovyto obecny postup:
Po stisknuti urciteho "jistice" se v nekolika mistnostech rozsviti svetlo
Potrebujes:
pozadi sceny - zhasnuto a jistic je vypnuty
pozadi sceny - rozsviceno a jistic je zapnuty
animace jistice z polohy off do on
Na scene v miste, kde je tlacitko vytvoris region, ktery bude interaktivni. Na stejne misto das i animovany sprite, ktery nebude aktivni, ani interaktivni (sprite musi byt loop). K poslednimu snimku animace prirad akci (treba "zapni"). Nyni prirad k regionu skript do ktereho das nejspis tohle:
on "Take"
{
var anim = Scene.GetNode("nazev_animace"); //nactes do promenne entitu s animaci
this.Active = false; //vypnes region
anim.Active = true; //zapnes animaci
}
Nyni ve !SceneEditu! priradis skript i k animaci, kde bude asi tohle:
on "zapni"
{
var pozadi = Scene.GetNode("background"); //nactes do promenne entitu pozadi
this.Active = false; //vypnes animaci
pozadi.SetSprite("cesta k rozsvicenemu pozadi"); //zmenis obrazek na pozadi
svetlo = true; //tohle musi byt globalni promenna //zmenis hodnotu promenne na true - sviti se
}
Vsechny dalsi sceny, kde se bude menit svetlo pak udelej ve sceneeditu primarne pro tmu a do sceneinit dej hned nekam na zacatek:
if (svetlo == true) {
//sem napis vsechny entity, ktery se musej zmenit, kdyz se rozsviti. Ke kazde enite ziskas pristup pomoci [i]promenna = Scene.GetNode("nazev_entity");[/i] Pokud budes chtit
//entitu udelat viditelnou (a prekryt tak jine pozadi), tak zadej prikaz [i]promenna.Active = true;[/i]. Ovsem vzhledem k rozsahu zmen, bych skoro doporucoval tyto sceny
//udelat uplne zvlast. Pak bys podminku o testovani svetla dal pred kazde Game.ChangeScene (bud je tam nebo svetlo).
}
Podobnym zpusobem muzes zapinat, ci vypinat i jine prvky, jako treba dalsi animace, atd...
Snad jsem ti pomohl...treba jsem te spatne pochopil.