2

みなさん、こんにちは。私はスターリング付きのゲームを開発しています。たとえば、2秒ごとにタイマーを設定したいのですが、何かを起こさせたいと思っています。私はジャグラー経過プロップを使用しましたが、それを行うためのより効率的な方法があるのだろうか

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

ハレド

4

2 に答える 2

13

または、「DelayedCall」クラスを使用することもできます。見逃しがちです!;-)

var delayedCall:DelayedCall = new DelayedCall(method, 2.0);
delayedCall.repeatCount = int.MAX_VALUE;
Starling.juggler.add(delayedCall);

function method():void
{
    trace("ping");
}
于 2012-06-05T19:14:33.347 に答える
2

これがアニメーションに関係しない場合は、アニメーション以外のコンテンツにタイマーを使用することをお勧めします。

タイマーの実装は、フレーム開始ハンドラーでの追加の時間計算よりもパフォーマンスが高くなります。

Starling Jugglers を進める場合は、Juggler のフレーム レートを 2 秒ごとに設定できます。

ジャグラーにはdelayCall、ファンクタが冗長に delayCall を呼び出すと、2 秒ごとに無限にループすることもできます。

juggler.delayCall(functor, 2.0);

Starlings フレーム/レンダリング ライフサイクルに結び付けるために、最後の呼び出しからの時間をテストできます。

private var lastCallTime:int

protected function frameHandler():void
{
    var now:int = getTimer();
    var ellapsed:int = now - lastCallTime;
    if(ellapsed >= 2000)
    {
        /* execute implementation */
        lastCallTime = now;
    }
}
于 2012-06-03T00:19:43.163 に答える