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

時間が1秒進むごとに一定距離をMCが移動するような
flashを作りたいと思っています。
getSecondを使用して秒を拾って表示させる事はできるのですが
それを動作と同期させるよい方法があれば教えてください。
フレームレートから一秒ごとのタイミングを割り出して
動作させる方法を試みたのですが、動作のスタートと
秒の切り替わる瞬間を合わせることができないので
両方のタイミングが上手く合いません。
初歩的な質問で申し訳ありませんが、よろしくお願いします。

A 回答 (1件)

指定秒に合わせてアクションを起こしたい場合はsetInterval()で行うのが有用です



■例 1秒ごとに指定MCの_x値を 5 プラスする
//動かしたいMCのインスタンス名「tagetMC」
//そのMCが置いてあるフレームに記述

clearInterval(SID);//おまじない
SID = setInterval(moveMC, 1000);//1000ミリ秒 = 1秒
function moveMC() {
targetMC._x += 5;
}
//ここまで

■あとがき
setIntervalで指定する秒数はいくらでも小さく出来ますが、
設定フレームレートの1フレームに対する時間より短くしてしまったり、
PCのスペック上追いつかなかったりすると設定通りの秒数で動きません
基本的には、色々な環境下において、設定秒数に出来るだけ近づかせて実行する という感じです
今回は1秒毎なのでよほどのことがない限り特に問題はないかと思います
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
MC自体は思い通りに動作をさせる事ができました。
ですが、実際表示されている秒数と完全に同期させる事はやはり
できませんでした。
(表示されている時間が一秒進むタイミングと
 動作のタイミングが合わない)
頂いた回答を参考に自力で解決したいと思います。
ありがとうございました。

お礼日時:2007/01/13 17:03

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