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月29日土曜日
2007年12月17日月曜日
「Traceアクションを省略」はsefに依存する。
Flashのパブリッシュ時の設定の1つである「Traceアクションを省略」。
この設定を有効にしてパブリッシュしたswfから、無効にしてパブリッシュしたswfをLoaderで読んだ場合。読み込まれた側のswfのtraceは表示されます。
各swfに依存している設定のようです。
実際に省略しているかはtraceを1万個ぐらい書いて試せばわかりますが。
この設定を有効にしてパブリッシュしたswfから、無効にしてパブリッシュしたswfをLoaderで読んだ場合。読み込まれた側のswfのtraceは表示されます。
各swfに依存している設定のようです。
実際に省略しているかはtraceを1万個ぐらい書いて試せばわかりますが。
2007年12月12日水曜日
SelectableListのselectedItem問題
Listなどの親クラスであるSelectedListのselectedItemは何も選択されていない場合はnullとなる仕様である。ただし、selectedItem自体をremoveItemした場合は、リストの先頭のアイテムが選択されてしまうようである。
対処方法
removeItemをしたら selectedItem=null;とする.
対処方法
removeItemをしたら selectedItem=null;とする.
2007年12月5日水曜日
ドキュメントクラスで定義したプロパティ
FlashCS3ではドキュメントクラスを定義できるが、そこで定義したプロパティやメソッドはタイムラインから使うことができるようだ。
タイムラインの1フレーム目とドキュメントクラスのコンストラクタの実行の順序はコンストラクタの方が早い。まあ当然か。
タイムラインの1フレーム目とドキュメントクラスのコンストラクタの実行の順序はコンストラクタの方が早い。まあ当然か。
登録:
投稿 (Atom)