2007年12月29日土曜日

is演算子

is演算子は A is B の書式で使用し、Bはクラス名、Aは変数
Aのクラスが、BもしくはBを継承したクラスである場合はtrue、違う場合はfalse

var clip:MovieClip=new MovieClip();
var sprite:Sprite = new Sprite();

if(clip is MovieClip){
trace("clip is MovieClip:true");
}else{
trace("clip is MovieClip:false");
}

if(clip is Sprite){
trace("clip is Sprite:true");
}else{
trace("clip is Sprite:false");
}

if(clip is DisplayObjectContainer){
trace("clip is DisplayObjectContainer:true");
}else{
trace("clip is DisplayObjectContainer:false");
}

if(sprite is MovieClip){
trace("sprite is MovieClip:true");
}else{
trace("sprite is MovieClip:false");
}

if(sprite is Sprite){
trace("sprite is Sprite:true");
}else{
trace("sprite is Sprite:false");
}

if(sprite is DisplayObjectContainer){
trace("sprite is DisplayObjectContainer:true");
}else{
trace("sprite is DisplayObjectContainer:false");
}

結果:
clip is MovieClip:true
clip is Sprite:true
clip is DisplayObjectContainer:true
sprite is MovieClip:false
sprite is Sprite:true
sprite is DisplayObjectContainer:true

2007年12月17日月曜日

test



「Traceアクションを省略」はsefに依存する。

Flashのパブリッシュ時の設定の1つである「Traceアクションを省略」。
この設定を有効にしてパブリッシュしたswfから、無効にしてパブリッシュしたswfをLoaderで読んだ場合。読み込まれた側のswfのtraceは表示されます。
各swfに依存している設定のようです。
実際に省略しているかはtraceを1万個ぐらい書いて試せばわかりますが。

SecondLife(セカンドライフ)2日目

2007年12月12日水曜日

SelectableListのselectedItem問題

Listなどの親クラスであるSelectedListのselectedItemは何も選択されていない場合はnullとなる仕様である。ただし、selectedItem自体をremoveItemした場合は、リストの先頭のアイテムが選択されてしまうようである。

対処方法
removeItemをしたら selectedItem=null;とする.

2007年12月5日水曜日

Finish searching reports.

ドキュメントクラスで定義したプロパティ

FlashCS3ではドキュメントクラスを定義できるが、そこで定義したプロパティやメソッドはタイムラインから使うことができるようだ。

タイムラインの1フレーム目とドキュメントクラスのコンストラクタの実行の順序はコンストラクタの方が早い。まあ当然か。