Wintermute Engine Forum

Czech forum => Technické fórum => Topic started by: PoselSmrti on November 19, 2005, 06:45:59 PM

Title: Active Region.
Post by: PoselSmrti on November 19, 2005, 06:45:59 PM
Zdravím!

Už dlhšiu dobu rozmýšlam, ako by sa dala urobit takáto vec: Mám nejaký aktívny region, napr. okno. Do scriptu okna napíšem

on"LeftClick"
{   
   actor.GoTo(645, 450);
   actor.Talk("Je to obyčajné okno.");
}

on"RightClick"
{
   actor.GoTo(645, 450);
   actor.Talk("Okno.");
}

V tomto prípade sa stane to, že kedykolvek kliknem na okno, postava príde k nemu a povie to, čo je napísane hore ;D. Ja chcem ale spravit niečo také, ze ked kliknem na to aktívne okno, postava povie to, čo má napísané v scripty, a okno jednoducho prestane byt aktívne! :) Neviete niekdo poradit?

Predom díky :D

EDIT->Snad ste ma pochopili ;)
Title: Re: Active Region.
Post by: NaRCo on November 19, 2005, 10:07:18 PM
Predpokladam, ze okno ma byt neaktivni az po prozkoumani levym tlacitkem mysi..takže si region okna v SceneEdit pojmenuj jako okno a pripoj k nemu script:

on"LeftClick"
{   
   actor.GoToObject(this);"
   actor.Talk("Je to obyčajné okno.");
   var okno = Scene.GetNode("okno");
   okno.Active = false;
}


..on"RightClick" tam vubec davat nemusis, postava jednak pujde stejne ve scene automaticky za kurzorem a podrobnejsi informace o objektech hrac ziska pomoci leveho tlacitka mysi. Ze se jedna o okno snad hrac pochopi z grafiky pozadi?!?! A namisto "actor.GoTo(645, 450);" je lepsi pouzit funkci "actor.GoToObject(this);" a udaje o pozici postavy vzhledem k objektu doplnit k patricnemu regionu ve SceneEdit v polozce "Walk to:" a to vcetne spravneho nasmerovani postavy k objektu.