I dont know how to show the current progress in progressBar component when the process is a loop that requires a lot of seconds to do the job. Inside the loop, i setProgress an
It is possible, just instead for or while you need to use Timers.
import flash.utils.Timer;
import flash.events.TimerEvent;
var loopNum : uint = 17598; // loop length ( forrmer for or while limit )
var tick : uint = 0;
var timer:Timer = new Timer ( 10, loopNum );
timer.addEventListener ( TimerEvent.TIMER, handleLoopTick );
timer.start ();
function handleLoopTick ( e : TimerEvent )
{
trace ( this, ( tick / loopNum ) * 100 ); // outputs percentage for example
tick++; // increasing the tick
}
If you mean an ordinary loop like for
or while
the answer is: it is impossible. Loops in Flash are synchronous but all the animations (including programming) are frame based asynchronous. So the only way is to distribute your loop across multiply frames.