AS3経験者がたぶんはまるであろうAS2の落とし穴のまとめ
自分がはまりまくっているのでそのまとめ。
他にもこれってのがあれば教えて頂けるとうれしいです。
getter,setter使える
AS3に近い感じでOOPを意識してクラス作れる
public function get hoge():String { return this._hoge; } public function set hoge(hoge:String):Void { this._hoge = hoge; }
クラスの継承とオーバーライドをする事が出来る
ただし、装飾子はprivateとpublicのみ
class hoge { private var _age:Number; public function hoge() { } public function talk(message:String):Void { trace(message); } private function set age(age:Number):Void { this._age = age; } }
hogeを継承するクラスmoge
class moge extends hoge { public function moge() { super.age = 18; } public function talk(message:String):Void { trace("moge : " + message); } }
イベントを取得できるのは、ムービークリップ、ボタン、一部のコンポーネント
自分でディスパッチやろうと思えばできる。
ただし、リスナーに登録するときのインターフェースはすべてが同じではない
hoge_btn.onRelease = function():Void{ trace("click hoge_btn!!"); }
リスナー関数のスコープがAS3と違う!
Delegate.createを使いましょう
trace(this); // _level_0 hoge_mc.onRelease = function():Void{ trace(this); // hoge_mc }
thisを迷子にさせないようにする
trace(this); // _level_0 hoge_mc.onRelease = Delegate.create(this, function():Void{ trace(this); // _level_0 }