2011-08-12 12 views
0

私は以前にAS3とゲームのタイミングに関する質問をしましたが、質問をより正確にしようとする回答はありませんでした。ゲームのタイムイベントに最適な方法

私はAS3を学ぶために東方と同じようなゲームを作っていますが、このゲームは音楽にタイミングを合わせました。弾丸のパターン、敵の産卵、特別なグラフィックスは、すべて音楽の特定の時間に発生するようにタイミングが取られます。

非常に正確で、同期がずれていてもスリップしないように、多くの(!)イベントを正確に計時する最も良い方法は何ですか?敵の午前1時30分の時点での の スポーン5異なる種類、1時31分で、敵1弾丸パターンの開始を、弾丸のパターンがすべてのように繰り返しパターンを打つように調節されます:私が探していたタイミングのどのような種類の

例2秒。これは私が得ようとしているものの簡単で短い例です。

答えて

0

オブジェクトとアニメーションのタイミングについて、あなたはENTER_FRAMEイベントに耳を傾ける必要があり、その後でミリ秒単位で現在の時刻を取得:

var now:Date = new Date(); 
var timeInMilis:int = now.getTime(); 

し、任意のオブジェクトを移動する必要があるかどうかを確認、それに基づいてなど、追加時間。

サウンドのタイミングに関しては、通常はENTER_FRAMEイベント中にサウンドを通常再生するだけで大​​丈夫でしょう。しかし、フラッシュはサウンドにレイテンシを追加する傾向があります。つまり、Flash Playerで.play()を呼び出した直後に再生されることはありません(ミリ秒のオーダーではあまりありません)。非常に正確なタイミングが必要な場合は、herehereのテクニックを使用して独自のミキサーを実装する必要があります。

幸運を祈る!

+0

これは機能します。ありがとうございます。しかし、今私は私のタイムラインをコントロールするという問題があります。私がそれをやろうとしていたのは、特定のケース(ケースは特定の秒)に達したときに、30回のようにケースを実行してから、1回だけ実行したいときに切り替えることでした。これを回避する方法はありますか?あるいはタイムラインを作るための他の方法? – Babyrat

+0

ケースを「引き金を引いた」または何かを実行した後にマークして、スキップするものを知ってください。 – kolufild

関連する問題