PDA

Volledige versie bekijken : On mouseover herhalen


$ilver
%Europe/Berlin %648 %2005, 16:33
Ik zit nu met een klein probleempje, wat vast heel erg makkelijk is op te lossen.
Kan het helaas niet vinden :P
FF een simpel voorbeeldje wat ik bedoel:

on (rollOver) {
nextFrame();
}

Als ik met mijn muis over de button ga wil ik dat hij steeds een frame verder gaat.
En dat herhaalt, dus niet dat hij 1 frame verder gaat, maar elke sec bijv. 1 frame.
Ik hoop dat het simpel op te lossen valt, bij voorbaat dank!

-$ilver

Finesky
%Europe/Berlin %650 %2005, 16:37
Kijk maar eens even of dit werkt;

Ik heb er uitleg bijgezet voor de duidelijkheid:)


on(rollOver) {
//Er word een nieuwe interval gemaakt en toegekend aan de functie volgendFrame();
//Deze word om de 1000 miliseconden uitgevoerd, 1 seconde dus.
//En IN die functie volgendFrame word naar het volgende frame gesprongen.
var newInterval = setInterval(volgendFrame, 1000);
function volgendFrame():Void {
nextFrame();
}
}

//Als de muis weer van de knop afgehaald word, zal de interval verwijderd worden.
//En zal er dus niet meer naar een volgend frame gesprongen worden.
on(rollOut) {
clearInterval(newInterval);
}

$ilver
%Europe/Berlin %851 %2005, 21:25
Werkt perfect! Weer wat geleerd, erg bedankt!

Finesky
%Europe/Berlin %526 %2005, 13:38
Nog even een kleine referentie:P.
Er zit nog een kleine bug in namelijk,
Als je met je muis op de knop gaat staan zie dat je 1 seconde moet wachten voordat hij voor het eerst naar het volgende frame gaat.
Dit is niet zo mooi natuurlijk:).
Daarom moet je even een nextFrame(); uitvoeren meteen als je erop gaat staan.
Dan neemt de interval het daarna gewoon over:).


on(rollOver) {
nextFrame();
//Er word een nieuwe interval gemaakt en toegekend aan de functie volgendFrame();
//Deze word om de 1000 miliseconden uitgevoerd, 1 seconde dus.
//En IN die functie volgendFrame word naar het volgende frame gesprongen.
var newInterval = setInterval(volgendFrame, 1000);
function volgendFrame():Void {
nextFrame();
}
}

//Als de muis weer van de knop afgehaald word, zal de interval verwijderd worden.
//En zal er dus niet meer naar een volgend frame gesprongen worden.
on(rollOut) {
clearInterval(newInterval);
}