Home > Tips Archive
Tips Archive
ObjectDumper
- 2007年12月19日 17:16
- Tips
たまにはおいしいもの食べたいなぁと思う今日この頃、
皆さんいかがお過ごしでしょうか。ぢゃぃです
Flashオーサリングのときに大活躍するtrace()。
たまに、OH!No!!!orz
[object Object]
という事態に陥ります。
そこで、大活躍するのがObjectDumperクラスです。
使い方は簡単。
クラスをインポートして、toString()メソッドを書くだけす。
こんな感じ
import mx.data.binding.ObjectDumper;
trace(ObjectDumper.toString(obj));
オブジェクトの中身をStringで返してくれます
ヘルプにも乗ってないので、
fumiononaka.comでみてください。
http://www.fumiononaka.com/TechNotes/Flash/FN0510005.html
wikiはこちら
setTimeout
- 2007年12月18日 10:40
- Tips
街がにぎやかなのが逆に寂しい今日この頃、
皆さんいかがお過ごしでしょうかー。
ぢゃぃです。
setTimeoutで少しハマったのでメモー
help等にドキュメント化されてないことで有名ですが、
setTimeout便利です。
機能としては、
一定間隔で関数を呼び続けるsetIntereval()に対し、
一度だけ呼び出されて消えちゃうのがsetTimeout()。
ちょっと間隔を空けて、何かを呼びたいときに便利。
setIntervalでも同様のことができるけど、clearIntervalしなくてよい分便利。
使用法(書き方)は、setInterval()と同じ。
基本的な使い方は
setTimeout (objectReference:Object, methodName:String, delay:Number [, arg1:Object, arg2, ..., argN]) : Number
setTimeout (functionReference:Object, delay:Number [, arg1:Object, arg2, ..., argN]) : Number
ただし、この二つには決定的な違いがある。
呼び出されるfunctionのスコープが違うのです。
例(_rootの1フレに以下のコードを書くと)
this.clearIdA=setTimeout(funcA,1000)
this.clearIdB=setTimeout(this,"funcB",1000)
function funcA(){
trace("funcA_"+this)
}
function funcB(){
trace("funcB"+this)
}
出力funcA_undefined
出力funcB__level0
呼ばれる前に消したい時は、
clearTimeout(clearId)
で今回、ハマったのはここではなく、setTimeoutをクラス内で使おうとした時、エラーが帰ってきます。
基本的にsetIntervalと全く同じ書き方で、すべて大丈夫だと言う認識だったので焦りました。
おそらく、setTimeoutが toplevel.asに書き込まれてないからだと思われます。
解決法としては、
toplevel.asに書き込むか、_global.setTimeout()、_global.clearTimeout()とパスを明確に指定しておく必要があります。
fumiononaka.comに書かれてました
http://www.fumiononaka.com/TechNotes/Flash/FN0512001.html
wikiも参考までに、、。こちら
Home > Tips Archive