PDA

Volledige versie bekijken : onRollOver icm met onEnterFrame ?


Emveedee
%Europe/Berlin %782 %2006, 19:47
ik heb op mijn stage een button met instancenaam btn2

Mn fps is 30.

Op frame 1 staat dit script:

var lal:Number = 0;
function moveButton(){
btn2.onRollOver = function(){
trace(lal + " erover!!");
lal ++;
}
}

_root.onEnterFrame = moveButton();

Nu zou je denken (ik iig wel)
dat ie iedere seconde 30 x erover!! (met t getal ervoor traced)
als ik met mn muis op btn2 sta.

Maar hij traced m maar 1 x als ik erover ga,
wil ik dat ie nog ns traced, dan moet ik opnieuw
eraf en weer erop.
Ondanks dat ik m aan een onEnterFrame heb gehangen.

Hoe zorg ik dat ie toch 30 x per sec dat traced?

Mvg, emveedee

Neuro
%Europe/Berlin %786 %2006, 19:52
klopt niet helemaal. Zo zou je het moeten/kunnen doen

var lal:Number = 0;
function moveButton(){
btn2.onRollOver = function(){
this.onEnterFrame = function{
trace(lal + " erover!!");
lal ++;}
}
}

Ruben!
%Europe/Berlin %791 %2006, 20:00
_root.onEnterFrame = moveButton();
dat moet er toch nog wel onder? of beschouwde je dat als vanzelfsprekend:p

en reageert onRollOver niet alleen op het moment dat er vanaf buiten de button over de button heen wordt gerold? en niet als hij er al op staat?

Neuro
%Europe/Berlin %796 %2006, 20:06
en reageert onRollOver niet alleen op het moment dat er vanaf buiten de button over de button heen wordt gerold? en niet als hij er al op staat?

dat wel, maar je start dan een nieuwe onEnterframe functie
en die blijft lopen

dus vergeet ze daarna ook niet te deleten
btn2.onRollOut =btn2.onReleaseOutside = function(){delete this.onEnterFrame}
en je moveButton() functie zal je ook nog moeten activeren
moveButton();

Emveedee
%Europe/Berlin %846 %2006, 21:19
Yo, hardstikke bedankt neuro :)

Neuro
%Europe/Berlin %866 %2006, 21:48
graag gedaan ;)

Roenes
%Europe/Berlin %956 %2006, 23:57
Nu zou je denken (ik iig wel)
dat ie iedere seconde 30 x erover!! (met t getal ervoor traced)
als ik met mn muis op btn2 sta.Ondanks dat het probleem verholpen is wil ik er nog wat over zeggen :) Het is logisch dat je niet 30x per seconde hetzelfde traced. Wat jij in jouw begin code deed was niets meer als 30x per seconde een onRollOver koppelen aan je button. Een rollOver wordt getriggerd op het moment dat je muis de button aanraakt als hij daarvoor nog geen contact had. Je kunt er dus wel een onEnterFrame omheen zetten maar dat heeft alleen invloed op hoe vaak je iets definieerd in dit geval.

Uiteindelijk is het opgelost met een onEnterFrame in een onRollOver maar ik denk dat ik had gewerkt met hittest in een onEnterFrame en dan dus geen gebruik maken van een rollOver. Maar zo zie je maar: er zijn meer wegen die naar Rome leiden :)

Emveedee
%Europe/Berlin %959 %2006, 00:01
Ik had idd ook al een hittest geprobeerd,
maar die tracede helemaal niets.
(zal wel iets anders fout gedaan hebben daar).

En zoals jij t zegt, heb ik onRollOver gewoon fout geïnterpreteerd.
Ik dacht dat die gewoon altijd ge'triggered' zou worden als ik met mijn muis
op de button stond. (niet dus :D )

iig bedankt allemaal :)

Jimbooo
%Europe/Berlin %401 %2006, 10:38
Volgens mij zit hem het in het feit dat je onRollOver binnen een functie staat die elk frame opnieuw wordt aangeroepen. Wanneer je muis op de button zit, en hij heeft de functie voltooid, en vervolgens opnieuw aangeroepen wordt, dan ziet hij dit niet meer als een onRollOver...

Ik denk dat het zo zit!

Grtz!

Jim