[Flash] Rollovers tegenover EnterFrame of eigen script

Pagina: 1
Acties:

  • 2nosedt
  • Registratie: April 2000
  • Laatst online: 20-02-2010

2nosedt

Music-addict

Topicstarter
Misschien vage titel.. maar ik vroeg me iets af;

Als ik een klein flash filmpje maak en over de hele oppervlakte een button maak (die ik vervolgens transparant maak) en ik zet er het volgende in;
code:
1
2
3
4
5
6
on(rollOver) {
_root.achtergrond.toon();
}
on(rollOut) {
_root.achtergrond.verberg();
}

lijkt me duidelijk wat het doet. Dus iets waar je een rollover effect krijgt als je met je muis eroverheen gaat.
Als je heel snel met je muis erover heen gaat doet ie het gewoon goed.
Maar zodra ik ditzelfde effect probeer te bereiken met bijvoorbeeld een Movie Clip en ik doe het volgende;

code:
1
2
3
4
5
6
7
8
onClipEvent (enterFrame) {
   if (_root.achtergrond.hitTest(_root._xmouse,_root._ymouse, true)) {
     _root.achtergrond.toon();
   }
   else{
     _root.achtergrond.verberg();
   }
}


dan doet hij het in feite ook nog goed.. maar zodra ik met de muis er erg snel overheen ga, dan blijft hij vaak hangen. Dus hij ziet niet dat de muis er weer vanaf is gegaan omdat hij de muis posities niet zo vaak heeft bijgehouden (zo lijkt het)

Ook als ik zelf constant de muis posities bekijk en check of de achtergrond moet verschijnen of niet.. dan heb ik hetzelfde probleem. Dit komt waarschijnlijk door de frame rate op zo'n flash movie.

Nu vraag ik me dus af.. is er geen manier om dezelfde goede rollover en rollout functie te gebruiken, maar buiten een button om? Er komen namelijk een aantal nadelen om de hoek kijken bij het gebruik van een button (die ik dan over al mn andere objecten heb liggen);

- bij een hyperlink in een tekstvlak reageert ie als een rollout
- muiscursors zijn constant hetzelfde (geen verschil tussen een handje of pijltje; dit heb ik opgelost door al mijn tekst objecten als 1 button te maken, en diezelfde button te gebruiken om de rollovers en rollouts af te handelen

hoop dat ik mijn probleem zo duidelijk mogelijk heb voorgelegd :)

musica | fotografica | amalia


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Als je onEnterFrame gebruikt, dan wordt er dus bij elk frame deze controle uitgevoerd. Terwijl bij onRollOver pas wanneer de muis over het vlak gaat. Performance lijkt me dat beter. Misschien kan je een EventListener gebruiken als alternatief.

  • roytanck
  • Registratie: Oktober 1999
  • Laatst online: 12-05 15:11
code:
1
2
movieclip.onRollOver = function(){ ... }
movieclip.onRollOut = function(){ ... }


Werkt gewoon. Alles wat een button kan kan een mc ook tegewoordig. De onEnterFrame optie is wel erg lelijk! :)