AS2での話だと思うんだけど
[js] NaN >= 1; // true [/js]
この判定おかしくね?
調べたらここにあったよ。 http://www.fumiononaka.com/TechNotes/Flash/FN0108015.html
NaNを使った数値の比較演算子(<=,>=)は、なんか変な感じとのこと。
FLVのダウンロード状態を監視するタイマーが [js] var loadedRatio:Number = ns.bytesLoaded / ns.bytesTotal; if( loadedRatio >= 1 ) { //監視終了 } [/js] みたいな判定式で抜けるようなプログラムを書いていたんだけど 数回に1回、タイマーが1発目で終了しているバグが見つかって 追求したらNaNのせいだった。
これからは、NaNが入る可能性があるNumber型の変数を条件に使う場合は [js] if( !isNaN(loadedRatio) && loadedRatio >= 1 ){} [/js] とするようにしよう。
ちなみにAS3は期待通りの挙動らしい。
関連記事