- 2007年11月 8日 12:22
- ActionScript 3.0
今までなんとなくmixiに溜め込んでいた
ActionScript 3.0 のメモをここにまとめておこうかと。
ActionScript 3.0 のメモをここにまとめておこうかと。
■ is演算子とas演算子
is演算子は、AS2にあった instanceof と同じ機能を提供する。指定したインスタンスが、その型のものであるかを調べるときに使う。
返り値はBoolean
if ( mc is MovieClip ){
// true
// 続く処理...
}else{
// false
// 続く処理...
}
is演算子は型を調べるだけにとどまる一方でas演算子は論理値を戻さずに、その式の結果を返す。
■ 名前空間の定義
自分独自に名前空間を定義する事ができる。namespace ns;
// ns名前空間からアクセスできる関数
ns function fnc(){}
■ attachMovie のようにクラス名のStringから MovieClip を生成する方法
AS2までは、ライブラリ内のMovieClipは例えば hoge というリンケージを設定しておけば
attachMovie("hoge","hoge",0);
で追加できたが、AS3ではnew hoge();としなければならず
例えばリンケージ名を引数にして動的に追加といった事をしたい時に
どうしたら良いか迷ってたのですが、以下の方法で出来るようです。
package{
// 必要なクラスを import
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
public class Hoge extends Sprite{
// attachMovieを実装してみる
function attachMovie( _className:String ):void{
// _classNameからその名前のクラスを生成
var cName:Class = getDefinitionByName( _className ) as Class;
// new することでインスタンス化する
var mc:MovieClip = new cName();
// addChildする
addChild( mc );
}
}
}
とりあえず今日はこんな感じで。
- Newer: AS3.0でのonEnterFrameのやり方
- Older: RightFieldsのフィールドの値によって処理を振り分ける