PDA

Volledige versie bekijken : Counting


Dc Darkness
%Europe/Berlin %650 %2008, 16:36
Weet iemand hoe ik in flash van 1 tot 100 laten tellen?


Dank

Jan
%Europe/Berlin %658 %2008, 16:48
AS2: Herhalen van een functie/operatie:
(voor AS3 scroll naar onder.)

met onEnterFrame::
var getal:Number=0;
this.onEnterFrame=function()//deze functie herhalen tegen de snelheid van de frame rate (fps) van je movie
{
getal+=1;
trace(getal);
if(getal==100)
{
delete this.onEnterFrame;
}
}

of met setInterval::
var getal:Number=0;
var interval:Number=setInterval(tellen, 1000)//de functie "tellen" herhalen om de 1000 milliseconden
function tellen()
{
getal+=1;
trace(getal);
if(getal==100)
{
clearInterval(interval);
}
}

Of met setTimeout::
var getal:Number=0;
setTimeout(tellen,1000);//de functie "tellen" uitvoeren na 1000 milliseconden wachten
function tellen()
{
getal++;
trace(getal);
if(getal<100)
{
setTimeout(tellen,1000)//de functie "tellen" opnieuw uitvoeren na 1000 milliseconden wachten
}
}
Of met een Tween(ing) Engine::
import mx.transitions.Tween;
import mx.transitions.easing.*;

var getal:Number=0;
var tween:Tween=new Tween(this, "getal", None.easeNone, 0,100,3,true);//verhoog getal van 0 tot 100 in 3 seconden.
tween.onMotionChanged=function()
{
trace(getal);
trace(this.obj);
}
tween.onMotionFinished=function()
{
trace(getal);
trace(this.obj);
}


Of als je de tussenstappen niet wil zien (het scherm wordt namelijk niet geupdated tijdens een for of while loop) en zo snel mogelijk het eindresultaat wil hebben:
met een for loop
for(var getal:Number=0; getal<100; getal++)
{
trace(getal);
}
of met het equivalent: een while loop:
var getal:Number=0;
while(getal<100)
{
getal++;
trace(getal);
}


tellen allemaal 1 bij:
var getal:Number=0;//0
getal++;//1
++getal;//2
getal+=1;//3
getal=getal+1;//4

///////////////////// AS3 /////////////////////////////

Herhalen van een functie/operatie in AS3:

ENTER_FRAME event:
this.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler)
var nr:int=0;
function onEnterFrameHandler(event:Event):void //deze functie herhalen tegen de snelheid van de frame rate (fps) van je movie
{
nr++;
trace(nr);
if(nr==100)
{
this.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
}

Timer class:
var timer:Timer = new Timer(1000);
timer.addEventListener("timer", timerHandler);//de functie "timerHandler" herhalen om de 1000 milliseconden
timer.start();
var nr:int=0;
function timerHandler(event:TimerEvent):void
{
nr++;
trace(nr);
if(nr==100)
{
timer.stop();
}
}


setInterval:
var nr:int=0
var si:Number = setInterval(intervalHandler, 1000)//de functie "intervalHandler" herhalen om de 1000 milliseconden
function intervalHandler()
{
nr++;
trace(nr);
if(nr==100)
{
clearInterval(si)
}
}


setTimeout
var nr:int=0
var sto:Number = setTimeout(setTimeoutHandler, 1000)//de functie "setTimeoutHandler" uitvoeren na 1000 milliseconden wachten
function setTimeoutHandler()
{
nr++;
trace(nr);
if(nr<100)
{
setTimeout(setTimeoutHandler, 1000)//de functie "setTimeoutHandler" opnieuw uitvoeren na 1000 milliseconden wachten
}
}


Groeten;
Jan

Dc Darkness
%Europe/Berlin %690 %2008, 17:34
var getal:Number=0;
setTimeout(tellen,1000);//uitvoeren na 1000 milliseconden wachten
function tellen()
{
getal++;
trace(getal);
if(getal<100)
{
setTimeout(tellen,1000)
}
}

Bedankt en hoe kan ik dan meteen linken naar een andere html pagina?

dank

Jan
%Europe/Berlin %698 %2008, 17:46
Kijk eens in de help bij getURL.

Script op het forum staat best tussen de juiste script tags:
http://img175.imageshack.us/img175/3632/forumtagsae7.jpg

Groeten,
http://users.telenet.be/jansurf/cwo.png Jan

jacob_slomp
%Europe/Berlin %717 %2008, 18:13
if(i == 100){
getURL("document.html");
}