- 2006-11-30 (木) 11:57
- action script
ActionScript3.0にはTimerクラスが追加され、従来のsetIntervalの代わりに使うことが想定されていますが、あんまり過信するほど正確ではありませんよというお話をBIT-101さんがエントリされています。
といっても、Timerクラス自身はきちんと1000ミリ秒(1秒)間隔で実行されまが、そこに、Timerをトリガーとして実行される関数の処理時間が関わってきます。
通常のプロジェクトで使うような関数なら、0.0何秒の誤差なので許容範囲なのですが、BIT-101さんの記事中のサンプルのように、100万回forループとかの付加の大きい処理を間で実行すると、1.6秒間隔になり、0.6秒もの誤差が生じます。
Timer自身は、きちんと1000ミリ秒で実行されていますが、1000ミリ秒後に実行されるforループの処理に600ミリ秒かかり、次にTimerがカウントを開始するのは、そのループ終了後(1600ミリ秒後)になるからです。
僕としては、まぁそんなに負荷のかかる処理はめったにしないだろうし、それよりはTimerクラスの利便性に感動して使いまくる予感がしています。
一方、ものすごく正確な時間測定が必要な案件の場合は、BIT-101さんが書いた「Making Things Move!」の最後の方に書かれている「onEnterFrameベースのカウント処理」の方が良いですよと仰られてます。ちなみに「Making Things Move!」のActionScript3.0版の執筆も終えられたそうで、2007年早々に発売されるそうです。Amazon.co.jpでの予約受付も始まっていますね。
- Newer: Apple Wireless Keyboardの接続が切れる
- Older: Flashで筆順再生2:色とブラシサイズ
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.trick7.com/blog/2006/11/30-115701.php/trackback
- Listed below are links to weblogs that reference
- Timerクラスの正確さについて from trick7






![Flash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編]](http://ecx.images-amazon.com/images/I/617sNhK9P9L._SL75_.jpg)


![FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付]](http://ecx.images-amazon.com/images/I/51915J1BG6L._SL75_.jpg)


