flash on 2012-2-27

by tepe
Thread (そうめん) お勉強その1

〜外部画像を読み込んで配置するだけの、かんたんなお仕事〜
♥0 | Line 44 | Modified 2012-02-28 09:58:46 | MIT License
play

ActionScript3 source code

/**
 * Copyright tepe ( http://wonderfl.net/user/tepe )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/u5B0
 */

package {
    import flash.text.TextField;

    import flash.display.Sprite;
    import flash.system.Security;
    import org.libspark.thread.Thread;
    import org.libspark.thread.EnterFrameThreadExecutor;

    [SWF(backgroundColor="#333333", width="465", height="465", frameRate="30")]

    public class Main extends Sprite {
        private var thread:MainThread;
        

        public function Main() {
           // init();
        }
        static private const aa:int = 0;
        private function init():void {
            
            if (!Thread.isReady) Thread.initialize(new EnterFrameThreadExecutor());//スレッドライブラリ初期化
            //thread = new MainThread(this, filePath);//スレッド作成
            //thread.start();//スレッド処理開始
        }


        

    }

}


import org.libspark.thread.Thread;
import org.libspark.thread.threads.display.LoaderThread;

class MainThread extends Thread {
    private var func:Function;
    //private var 
    public function MainThread(func1:Function=null) {//
        
        func = func1;
    }
    
    //Thread.start()で実行される
    private var cnt:int=0;
    override protected function run():void {
        if(func==null)return;
        next(mainloop);
        
        //next(run);//次に実行するスレッドを指定指定しなければスレッド終了
    }
    
    private function mainloop():void{
        func();
        if(_stop!=true)next(mainloop);//次に実行するスレッドを指定指定しなければスレッド終了
    }
    private var _stop:Boolean=false;
    public function stop():void{
        _stop=true;
    }

    public function setFunction(func1:Function=null):void{
        if(func1==null)return;
        func = func1;
    }


    //スレッド終了時に実行される
    override protected function finalize():void {
    }

}