Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Detekcija kada kursor nije preko objekta AS3

[es] :: Flash :: Detekcija kada kursor nije preko objekta AS3

[ Pregleda: 1999 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dalibor_zdravkovic
Dalibor Zdravkovic
Ne Zaposlen
Leskovac

Član broj: 155994
Poruke: 114
93.87.37.*



+1 Profil

icon Detekcija kada kursor nije preko objekta AS316.12.2010. u 00:45 - pre 162 meseci
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.
Dalibor Zdravkovic
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
...148.91.adsl.dyn.beotel.net.



+3 Profil

icon Re: Detekcija kada kursor nije preko objekta AS317.12.2010. u 12:33 - pre 162 meseci
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.
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

dalibor_zdravkovic
Dalibor Zdravkovic
Ne Zaposlen
Leskovac

Član broj: 155994
Poruke: 114
93.87.37.*



+1 Profil

icon Re: Detekcija kada kursor nije preko objekta AS317.12.2010. u 17:24 - pre 162 meseci
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!
Dalibor Zdravkovic
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
*.dynamic.sbb.rs.



+3 Profil

icon Re: Detekcija kada kursor nije preko objekta AS317.12.2010. u 22:24 - pre 162 meseci
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?
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

dalibor_zdravkovic
Dalibor Zdravkovic
Ne Zaposlen
Leskovac

Član broj: 155994
Poruke: 114
93.87.37.*



+1 Profil

icon Re: Detekcija kada kursor nije preko objekta AS318.12.2010. u 05:53 - pre 162 meseci
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.

[Ovu poruku je menjao dalibor_zdravkovic dana 18.12.2010. u 07:52 GMT+1]

[Ovu poruku je menjao dalibor_zdravkovic dana 18.12.2010. u 07:53 GMT+1]
Dalibor Zdravkovic
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
*.dynamic.sbb.rs.



+3 Profil

icon Re: Detekcija kada kursor nije preko objekta AS318.12.2010. u 13:25 - pre 162 meseci
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 );

www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

[es] :: Flash :: Detekcija kada kursor nije preko objekta AS3

[ Pregleda: 1999 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.