dポイントプレゼントキャンペーン実施中!

変数として、何秒経過したか、という値を使用するために
getTimer()
を使用して経過秒数を取得しています。

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

A 回答 (1件)

getTimer は、ムービーが再生され始めてからの経過時間を取得する関数です。

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

なお、Flash には時刻を取得できる Date というオブジェクトもありますが、Macではミリ秒単位の時間が取得できない(必ず0が返される)など、ひとクセあるオブジェクトですので、細かい単位の時間の処理は getTimer を利用した方が無難のようです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やはりgetTimerの値に手を加える、ということは無理のようですね。

おっしゃっていたのをちょっと改良して、
getTimerの値、1つの動作が終わった後の時間とgetTimerの差、全ムービーが終わった後の時間、などを求めていろいろ組み合わせて、希望のことができました。

ありがとうございました。

お礼日時:2004/03/02 09:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!