• ベストアンサー

getTimer() について

変数として、何秒経過したか、という値を使用するために getTimer() を使用して経過秒数を取得しています。 1回目は0秒から始まるのでいいのですが、2回目、3回目となるとズレが出てきますよね。 で、getTimer()を行うたびに、0から始めたいのですが、どのようにすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

getTimer は、ムービーが再生され始めてからの経過時間を取得する関数です。この経過時間は Flash Player が内部で管理しているものですので、ユーザーの都合で0にリセットしたり、任意の時間に書き換えたりすることはできません。 しかし、「ムービーが再生されてから○○ミリ秒経過した」という情報は、加工の仕方次第では時間の処理にも利用できます。 例えばストップウォッチなどのように、計測し始めの時点での getTimer の戻り値と、ストップボタンが押された時点での getTimer の戻り値をそれぞれ変数に保存しておいて、その差で何ミリ秒経過したかを知ることもできます。 getTimer の単位はミリ秒ですから、算術的に加工して分や秒に直すことも可能です。 なお、Flash には時刻を取得できる Date というオブジェクトもありますが、Macではミリ秒単位の時間が取得できない(必ず0が返される)など、ひとクセあるオブジェクトですので、細かい単位の時間の処理は getTimer を利用した方が無難のようです。

w-inty
質問者

お礼

回答ありがとうございます。 やはりgetTimerの値に手を加える、ということは無理のようですね。 おっしゃっていたのをちょっと改良して、 getTimerの値、1つの動作が終わった後の時間とgetTimerの差、全ムービーが終わった後の時間、などを求めていろいろ組み合わせて、希望のことができました。 ありがとうございました。

関連するQ&A