Home > Tips Archive

Tips Archive

ObjectDumper

  • Posted by: ぢゃぃ
  • 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

  • Posted by: ぢゃぃ
  • 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

setInterevalと同様、
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も参考までに、、。こちら

Index of all entries

Home > Tips Archive

Search
Feeds
         
Tag Cloud

Return to page top