2016-07-07 1 views

答えて

0

1)タイマーを使用してください。これにより、遅延イベントを1回実行するか、その関数呼び出しを繰り返し実行することができます。

たとえば、あなたがそれを検索する場合フェイザーのウェブサイトは基本的にドキュメント http://phaser.io/docs/2.4.8/Phaser.Timer.html

から、また、あなたに http://phaser.io/examples/v2/time/basic-timed-event

すべての例を示しますと、あなたが繰り返す必要がある場合、注意してください機能 "ループ"(私はリンクを投稿するが、私はまだ十分な評判を持っていない)。

2)代替案は、単にフェーザーのゲーム・ティックに繋ぐことです。あなたの州の中で(これがあなたに可変増分を実行している場合)、更新機能を作成します(これはすべてのゲームアップデートと呼ばれます)。前回の更新以降の時間にアクセスできます。

Phaser.Timerクラスをルックアップします(もう一度リンクを投稿できません)。 elapsedおよびelapsedMSプロパティを参照してください。これを使用して、最後の増分イベントからの経過時間を手動で追跡することができます(舞台裏では、基本的にフェイザートゥイーンやタイムドイベントが行っています)。

例:

var timeSinceLastIncrement = 0; 
 

 
function update() 
 
{ 
 
    // Update the variable that tracks total time elapsed 
 
    timeSinceLastIncrement += game.time.elapsed; 
 
    
 
    if (timeSinceLastIncrement >= 10) // eg, update every 10 seconds 
 
    { 
 
    timeSinceLastIncreemnt = 0; 
 
    
 
    // Do your timed code here. 
 
    } 
 
}

。なお、オプション1は、クリーナー、好ましい解決策である可能性が高いです。私はオプション2を提示するだけで、これを手作業でどのように行うことができるかを示唆しています(実際には、舞台裏でフェイザーのようなフレームワークでどのように行われているのか)。

関連する問題