How to show the current progressBar value of process within a loop in flex-as3?

前端 未结 2 1933
死守一世寂寞
死守一世寂寞 2021-01-28 04:21

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

相关标签:
2条回答
  • 2021-01-28 04:31

    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
    }
    
    0 讨论(0)
  • 2021-01-28 04:48

    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.

    0 讨论(0)
提交回复
热议问题