[AS][?]xmlから取得したデータをBoolean型として認識するには?

なんかうまくできなかった。

[AS][?]loaderInfo.addEventListener( Event.COMPLETE, _complete );

loaderInfo.addEventListener( Event.COMPLETE, _complete );
↑これってメインのタイムラインとかドキュメントクラスには書いといた方がいいのかな?

[AS][?]progression ParallelListとかSerialListについて

まずはドキュメントのサンプルより

パラレルリストの中にパラレルリストを作って実行しているがメリットがわからない・・・

var list:ParallelList = new ParallelList();
list.addCommand(
new ParallelList( null,
new Trace("この Trace コマンドは同時に実行されます。" ),
new Wait( 1000 ),
new Trace( "この Trace コマンドは同時に実行されます。" ),
new Wait( 1000 ),
new Trace( "この Trace コマンドは同時に実行されます。" )
);
list.execute();

コマンド内に書くとexecute();無しでも自動で実行されるのでシンプルな感じ
↓これで上と同じ意味になってるっぽいけど厳密には違うのかしら?

addCommand(
new ParallelList( null,
new Trace( "この Trace コマンドは同時に実行されます。" ),
new Wait( 1000 ),
new Trace( "この Trace コマンドは同時に実行されます。" ),
new Wait( 1000 ),
new Trace( "この Trace コマンドは同時に実行されます。" )
)
);

[AS][?]progressionでのprogression.containerについて

gihyoでのプログレッション特集4のサンプルでの疑問点

各シーンの閉じるボタンを表示リストに追加する際に、各シーンに割り当ててるページ(CastSprite)ではなく、SceneObject自体に追加している。
これは、閉じるボタンの戻り先を設定をする際、SceneObjectじゃないと、sceneId:progression.root.sceneIdが使えないから・・・でいいののか?
(CastSpriteはprogressionプロパティをもっていないので)

それでも、CastSpriteに閉じるボタンをおきたいときは、
progression.root.sceneIdをtraceすると中身は”/index”だったので、、、
var sId:SceneId = new SceneId(“/index”);とSceneIdのインスタンスを用意して
sceneId:sId;
としてあげればOKでした。

[AS]最大値、最小値の上限を決めて返す公式

変数 = Math.min(Math.max(値 , 最小値) , 最大値);

例えば、

var randomNum:Number = Math.random()*100;
var maxNum:Number = 50;
var minNum:Number = 10;

var ans:Number = Math.min(Math.max(randomNum, minNum) , maxNum);

ただし、if文で作った方が処理的に速いらしい。
(Mathは遅いそうな)

[AS]配列の比較関数について

並び変えを、任意の関数でルールが作れるようだ。

var myArray:Array = [10,5,2,34];
myArray.sort(compare);
function compare(a,b) {
	if (a>b) {
		return 1;
	} else if (a<b) {
		return -1;
	} else {
		return 0;
	}
}
trace(myArray);//出力:2,5,10,34

[AS]BitmapDataのインスタンス生成時の注意

コンストラクタに渡す引数は正の整数でなくてはならない。

var myBitmapData:BitmapData = new BitmapData(0,0);
//ランタイムエラー

しかし、ライブラリのビットマップにリンケージでクラス指定したものを呼び出すときは、0でもOK。

var myBitmapData:MyBitmapData = new MyBitmapData(0,0);
//エラー無し

[AS]データ型とデフォルト値まとめ

  • Boolean:false:trueまたはfalse
  • int:0:32ビット符号付き整数
  • NUll:型指定に用いることはできない:null
  • Number:NaN:64ビット浮動小数点数
  • String:null:16ビット文字列
  • uint:0:32ビット符号無し整数
  • void:undefined:undefined
  • クラス:null:クラスのインスタンス

[AS]is演算子について

初期化されていないか、null代入された変数は型指定されていても、is演算子ではfalseを返す

var my_mc:MovieClip;
trace(my_mc);//出力:null
trace(my_mc is MovieClip);//出力:false

my_mc = new MovieClip();
trace(my_mc);//出力:MovieClip
trace(my_mc is MovieClip);//出力:true;

[AS]DisplayObject.rootはaddChildされてないとnull

var my_mc:MyClass = new MyClass();
trace(my_mc.root);//出力:null
addChild(my_mc);
trace(my_mc.root);//出力:[object MainTimeline]


DisplayObject.rootのまとめ