[ActionScript 3.0] 表示オブジェクトの中心を原点に
Flashでは表示オブジェクトの左上隅がデフォルトの原点になっているが、これを表示オブジェクトの中心にしたほうがわかりやすい場合がある。
表示オブジェクトを中央に揃える場合や、それらを等間隔に並べる場合は、このほうがコーデ ...
[ActionScript 3.0] Singletonパターン
ActionScript 3.0ではコンストラクタをprivateにできないので、Singletonパターンを実装するには一工夫必要になる。
通常は該当クラスのインスタンスを保持するstaticな変数を用意しておくが、これ ...
[ActionScript 3.0] Event#targetとcurrentTarget
イベントをリスナーで受け取ったとき、Event#targetとEvent#currentTargetの指し示すものが異なる場合がある。特にMouseEventでは注意が必要。
Event#targetとcurrentTar ...
[ActionScript 3.0] Objectクラスやdynamic class
【追記】
2011年7月24日:オブジェクトリテラル
Objectクラスに動的にプロパティを追加して連想配列的に使う場合、プロパティ名(キー)に指定したオブジェクトは、あくまでその文字列表現が適用される(Strin ...
[FlashDevelop] クロージャ内のデバッグ
FlashDevelopのデバッガでは、クロージャ(関数内関数)で外側のメソッドのローカル変数やクラスのメンバを参照して、その値を確認することができない。
上記の場合、クロージャ内のローカル変数strは参照できるが、外側の ...
[ActionScript 3.0] クロージャが原因のメモリリーク
クロージャを利用した場合、それを内包する関数(メソッド)におけるローカル変数の状態のまとまりを、そのクロージャが実際に呼び出されたときのために、スクリプトエンジン(Flash PlayerやAIR)が保持しつづける。
その ...
[ActionScript 3.0] ループ内のクロージャ
var timer:Timer = new Timer(100, 1);
for (var i:int = 0; i
[ActionScript 3.0] URLエンコードの要注意点
ActionScript 3.0でURLエンコードするには複数の方法があり、しかもそのそれぞれが微妙に機能が異なる。
基本的に、encodeURI(), encodeURIComponent(), flash.utils. ...
[ActionScript 3.0] 透明なオブジェクトをマウスの当たり判定用に使う
マウスイベント(MouseEvent)はSpriteクラスからディスパッチされるが、Spriteは任意でサイズを変更したり背景色を変更したりできない。
そこでよくメンバのgraphicsを使ったりShapeクラスを入れ子に ...
[ActionScript 3.0] クラス継承時のメンバの宣言と初期化の順序
このコードを実行すると、コンパイルは通るがSubClassの側でsprがnullであると、実行時エラー出る。
しかし、SubClassを下記のように書き直すと問題ない。
オブジェクト指向(OOP)で