こんにちは、なかわけです。
先日仕事をしていて、自分で書きながらこんな書き方できるんだなーという思ったのでメモ。
MainのなかでSubのインスタンスを生成する際、引数としてMainのfunctionを与えると、SubインスタンスからMainのfunctionが実行できるというもの。
このサンプルのコードでは意味のない処理をしてますが、実際にはSubのアニメーション処理が終わったらMainの処理を実行するというようなFlashを作ってました。
Main.as
package{
import flash.display.MovieClip;
import Sub;
public class Main extends MovieClip{
public function Main(){
var subObj:Sub = new Sub(result);
}
public function result(num:uint):void{
trace('結果は' + num + 'でした');
}
}
}
Sub.as
package{
import flash.display.MovieClip;
public class Sub extends MovieClip{
public function Sub(callback:Function){
var resultNum:uint = Math.floor(Math.random()*100);
callback(resultNum);
}
}
}
はたしてこういう書き方してよかったのだろうか・・・。
