callbackのスコープテスト
♥0 |
Line 49 |
Modified 2012-09-12 06:02:00 |
MIT License
archived:2017-03-20 12:17:44
ActionScript3 source code
/**
* Copyright littlepad ( http://wonderfl.net/user/littlepad )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/nMAO
*/
package {
import flash.text.TextField;
import flash.display.Sprite;
public class FlashTest extends Sprite {
private var _tf:TextField;
public function FlashTest() {
init();
}
private function init():void
{
setTextField();
var h:Hoge = new Hoge();
var callback:Function = function():void{
dispatchEvent(new HogeEvent(HogeEvent.HOGE_COMPLETE));
}
this.addEventListener(HogeEvent.HOGE_COMPLETE, hogeEventHandler);
h.addEventListener(HogeEvent.HOGE_COMPLETE, hogeEventHandler);
h.test(callback);
}
private function hogeEventHandler(event:HogeEvent):void
{
_tf.appendText(String(event.target));
}
private function setTextField():void
{
_tf = new TextField();
_tf.width = _tf.height = 400;
addChild(_tf);
}
}
}
import flash.events.EventDispatcher;
import flash.events.Event;
import flash.text.TextField;
class Hoge extends EventDispatcher
{
public function test(callback:Function):void
{
callback();
}
}
class HogeEvent extends Event
{
public static const HOGE_COMPLETE:String = "hogeComplete";
public function HogeEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false)
{
super(type, bubbles, cancelable);
}
}