Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.043 pregleda

Najnovija ↓

Detekcija kada kursor nije preko objekta AS3 16.12.2010. u 01:45 · pre 193 meseca #1
U AS3 imamo dva dogadjaja koja se aktiviraju kada je kursor preko objekata "MouseEvent.MOUSE_OVER" i kada kursor napusta objekat "MouseEvent.MOUSE_OUT".
Logicno je da kada god kursor nije preko objekata znaci da ga je na neki nacin napustio tj trebalo bi po pravilu da se aktivira "MouseEvent.MOUSE_OUT".
U mom slucaju bas u trenutku kada mis napusta objekat ja uklanjam "MouseEvent.MOUSE_OUT" da bih ga u sledecem frejmu ponovo aktivirao ali u tom frejmu mis vise nije preko objekta te se "MouseEvent.MOUSE_OUT" ne kativira.
Iz tog razloga mi je nephodno da detektujem da li je mis iznad objekta ili nije nekom "if else" konstrukcijom.
Detekcija okvira u kome bi trebao da je mis nije moguca jer objekat nije statican vec se krece po sceni.
Potpis
Dalibor Zdravkovic
Re: Detekcija kada kursor nije preko objekta AS3 17.12.2010. u 13:33 · pre 193 meseca #2
Pa možda najseljačkija fora bi bilo da u samoj deifniciji klase tog objekta (pretpostavljam da imaš posebnu klasu za taj movieClip) da u njemu definišeš neku promenljivu:
public var mishPreko:Boolean = false;

I kad pređeš mišem preko objekta:
obj.mishPreko = true;

a kad izađeš onda ga vratiš na false. (Naravno, po defoltu je uvek false)
Na ovaj način možeš uvek da "pitaš" da li se miš nalazi preko tog objekta ili ne.
Potpis
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
Re: Detekcija kada kursor nije preko objekta AS3 17.12.2010. u 18:24 · pre 193 meseca #3
Citat:
StarCraft: Pa možda najseljačkija fora bi bilo da u samoj deifniciji klase tog objekta (pretpostavljam da imaš posebnu klasu za taj movieClip) da u njemu definišeš neku promenljivu:
public var mishPreko:Boolean = false;

I kad pređeš mišem preko objekta:
obj.mishPreko = true;

a kad izađeš onda ga vratiš na false. (Naravno, po defoltu je uvek false)
Na ovaj način možeš uvek da "pitaš" da li se miš nalazi preko tog objekta ili ne.


Ovo resenje se opet svodi na prethodni problem:

Citat:
izađeš onda ga vratiš na false

A kako da detektujem kad je mis izaso ako se ne aktivira MouseEvent.MOUSE_OUT!
Potpis
Dalibor Zdravkovic
Re: Detekcija kada kursor nije preko objekta AS3 17.12.2010. u 23:24 · pre 193 meseca #4
Axaaa... pardon, izvinjavam se nisam pažljivo pročitao.

Onda bix ipak morao malo opširnije da (mi) objasniš jer mi nije skroz jasno šta zapravo želiš da uradiš, tj. zašto uopšte uklanjaš MOUSE_OUT?

Pogotovu mi nije jasno ovo: U mom slucaju bas u trenutku kada mis napusta objekat ja uklanjam "MouseEvent.MOUSE_OUT"
Ako si detektovao kada je miš napustio objekat, pa onda uklonio listenera, u čemu je onda problem?
A ako si uklonio listenera na neku drugu foru, onda moraš da mi kažeš o čemu se radi?
Potpis
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
Re: Detekcija kada kursor nije preko objekta AS3 18.12.2010. u 06:53 · pre 193 meseca
izmenjeno 2 puta, poslednji put dalibor_zdravkovic 18.12.2010. u 07:53
  1. dalibor_zdravkovic18.12.2010. u 07:53zapis iz teksta poruke
  2. dalibor_zdravkovic18.12.2010. u 07:52zapis iz teksta poruke
#5
Resio sam problem na drugi nacin tako sto sam u dati objekat koji je tipa MovieClip ubacio objekat tipa SimpleButton koji vec ima sve implementirano sto se tice MouseEvents mada bilo bi lepo kadi bi postojala neka ispitivacka funkcija tipa isMouseOver koja bi vracala "true" ako je mis prko objekta odnosno "false" ako nije npr:

Code:

var movieClip:MovieClip = new MovieClip();
...

if (movieClip.isMouseOver())
{
    // radi
}


Usvakom slucaju hvala na pomoci.
Potpis
Dalibor Zdravkovic
Re: Detekcija kada kursor nije preko objekta AS3 18.12.2010. u 14:25 · pre 193 meseca #6
Pa možda bi i radio collision test sa jednom tačkom (položajem miša)?

A inače ne zaboravi da možeš da dodeljuješ više istix listenera, npr:
this.addEventListener( MouseEvent.MOUSE_OVER, pređiNaDrugiFrejm );
this.addEventListener( MouseEvent.MOUSE_OVER, registrujMišPrekoObjekta );
this.addEventListener( MouseEvent.MOUSE_OVER, nekaTrećaFunkcija );
Potpis
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme