Wintermute Engine Forum
Czech forum => Technické fórum => Topic started by: !Errorcode! on May 27, 2008, 09:02:53 AM
-
Dostal som sa do situácie kedy už neviem čo mám s tým robiť, takže:
V scéne 1 zoberiem objekt ,,kamen". Ale POZOR! Môžem ho zobrať aj nemusím! Prejdem na scénu 2 je to scéna s rovnakým pozadím, len niečo iné..no to je jedno. Ten objekt tam stále môže byť aj keď som ho už zobral.
Teda pýtam sa ako mám spraviť aby objekt ,,kamen" ked raz zoberiem už sa v druhej scéne nemôže ukázať, alebo keď ho nezoberiem v scéne 1, v scéne 2 ho môžem zobrať??
(Scéna 1 a scéna 2 sú prakticky rovnaké scény, len o detail iné.)
Díky!
-
Ako dám aby keď prejdem na scénu 3 nehrala hudba ktorá hrala normálne ale prehrala sa druhá hudba a len 1 krát? Pritom aby scéna trvala len 5 sekúnd a vrátila sa predošlá téma. :)
-
No ten kámen bych udělal pomocí globálních proměnný. Pak už stačí jenom kontrolovat a kámen při spuštění scény skrýt nebo naopak zobrazit.
-
A ako s tou globálnou premennou? Neviem to až tak dobre :)...Nie som ešte v tomto taký pokročilý :)
-
Skúšal som to všelijako...nefunguje... ??? Môžte poradiť čo najskôr?? Díky!!!!
-
Taktiež by sa mi hodila jedna vec a to je tá, že ako dám aby po kliknutí na objekt sa zmenilo pozadie v scéne??? Pretože pomocou príkazu Game.ChangeBackground to nejde...asi to nie je dobrý príkaz :)
-
když už to chceš dělat takhle tak:
var e = Scene.GetNode("background");
e.SetSprite("nejakej soubor");
ale lepsi je IMO mit node s novym pozadim s Active = false (ve scene.editu) a pak nastavit Active = true pro ten node. Výhoda je to, že máš ten obrázek v cache takže se tam objeví hned.
-
Díky moc!!! Presne toto som potreboval!!!! ::thumbup ::thumbup
-
Ešte pýtal som sa predtým Ako dám aby keď prejdem na scénu 3 nehrala hudba ktorá hrala normálne ale prehrala sa druhá hudba a len 1 krát? Pritom aby scéna trvala len 3 sekundy a vrátila sa predošlá obrazovka. :)
-
do scene_init.script
-
Ono to nefunguje ??? ??? Ani nehrá hudba a dokonca aj scéna trvá donekonečna ???.. Čo s tým?
-
Ono to nefunguje ??? ??? Ani nehrá hudba a dokonca aj scéna trvá donekonečna ???.. Čo s tým?
Pozeral si sa do blogu? Bolo tam niečo? Ak nie, mozeš sem prihodiť svoj zdroják + archív s konktrétnými scénami?
-
V logu nebolo nič, správne prebehlo zapakovanie. tu je súbor scene_init tej scény v ktorej sa to má udiať:
#include "scripts\base.inc"
Game.PlayMusic("scenes/kos/hudba/kos.ogg", false);
Sleep(3000);
Game.ChangeScene(Game.PrevSceneFilename);
-
Hm, zdroják vyzerá byť správne:).
Tak dobre, ideme na tou inou cestou. Do tvojho scene_init.script pridaj tento kod:
scene_init.script
if(Game.PlayMusic("scenes/kos/hudba/kos.ogg", false, 0) == true)
{
Sleep(5000);
Game.LOG("Music is playing!");
}
else
{
Sleep(5000);
Game.LOG("Some error has occured while the the music is playing!");
}
Skúšal som volať funkciu aj s tretím parametrom, avšak ten možeš vypustiť. Hlavne sa pozri do logu, či sa podarilo tú hudbu nahrať do pamati. Ak tam bude, ďalší dovod, prečo nemusí hrať, je ten, že máš volume zvuku nastavené na úplne minimálnu hodnotu. Treba to eventuálne preskúšať.
Prepokladám, že hru skúšaš priamo v ProjectMan, že? Tak máš teda zapnutý debug mode, a preto si skontroluj, ktorá scéna je tam nastavená! Ak púštaš priamo scénu, na ktorej máš ten script uvedený hore, logicky ti engine scénu nezamení, pretože predtým nebola žiadna predošlá scéna.
Vyskúšaj to, a napíš, k čomu si dospel.
-
No...nejde to... ??? ???. Začínam byť už zúfalý ;D ;D. Lebo robím to už naostro do hry, ktorá je celá hotová len táto maličkosť nie je :-\. Nejde ani hudba druhá a ani scéna sa nevráti na predošlú. Skúšam to priamo v Project man.
PS: Čo si tým myslel ktorá scéna je nastavená v debugmode?? :)
-
No...nejde to... ??? ???. Začínam byť už zúfalý ;D ;D. Lebo robím to už naostro do hry, ktorá je celá hotová len táto maličkosť nie je :-\. Nejde ani hudba druhá a ani scéna sa nevráti na predošlú. Skúšam to priamo v Project man.
A skúšal si tam dať napr. nejaký iný zvuk? Alebo si skúšal, či to robí aj na nejakej inej scéne? Treba zistiť, či je to globálny problém, alebo to robí iba na tej konkrétnej scéne. Díval si sa do logu?
PS: Čo si tým myslel ktorá scéna je nastavená v debugmode?? :)
Ak skúšaš túto kontrétnu scénu, kde máš ten kod, ktorý Ti napísal Mnemonic, tak, že spuštíš hru,a hneď si na tej scéne, fungovať ti to nemože, pretože predtým nebola žiadna iná scéna, ktorá by naplnila globálnu premennú Game.PrevSceneFileName
Nemohol by si kdesi uploadnúť tvoj projekt?
-
No..nefunguje ani Mnemonicov kód ani tvoj ???...Myslím že by to bolo nadlho, ale rišením by som chcel teda - dostanem sa na dotyčnú scénu, prehrá sa druhý zvuk ale nemusí sa teda scéna o pár sekúnd vrátiť, ale kliknutím na miesto hocikde v scéne...v tej scéne sa s ničím nemanipuluje je to len niečo ako ,,intro"... To s tým Game.PrevSceneFileName, to viem neskúšam to priamo z tej scény - akosi hovoril nemalo by sa to kam vrátiť :)
-
Kdyz to nefunguje, musis trochu improvizovat a hledat. V tom kodu, co posilal Inaricus, to do logu zapise budto "Music is playing!" nebo "Some error has occured while the the music is playing!". Co to do logu zapsalo tobe? Pokud nic, tak se ten tvuj skript vubec nespousti a musis zjistit proc.
-
Přesně, tento kód musí fungovat. Máš propojený se scénou "scene_init.script" ve kterém je tento kód ? Defaultně je propojený, ale jestli si například nevytvořil nový "scene_ini.script" a to někde jinde (ke kterému nemáš cestu ve scene editoru dané scény). ;)
-
No...už som to vyriešil ;D. Som urobil jednoducho to, že vytvoril som prázdnu entitu - objekt na tej scéne a dal do nej kód...Teraz ho tu ale nemám po ruke :)...