flash on 2012-2-27
Thread (そうめん) お勉強その1
〜外部画像を読み込んで配置するだけの、かんたんなお仕事〜
♥0 |
Line 44 |
Modified 2012-02-28 09:58:46 |
MIT License
archived:2017-03-30 02:58:38
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 {
}
}