みなさん、こんにちは。私はスターリング付きのゲームを開発しています。たとえば、2秒ごとにタイマーを設定したいのですが、何かを起こさせたいと思っています。私はジャグラー経過プロップを使用しましたが、それを行うためのより効率的な方法があるのだろうか
ありがとうございました、
ハレド
みなさん、こんにちは。私はスターリング付きのゲームを開発しています。たとえば、2秒ごとにタイマーを設定したいのですが、何かを起こさせたいと思っています。私はジャグラー経過プロップを使用しましたが、それを行うためのより効率的な方法があるのだろうか
ありがとうございました、
ハレド
または、「DelayedCall」クラスを使用することもできます。見逃しがちです!;-)
var delayedCall:DelayedCall = new DelayedCall(method, 2.0);
delayedCall.repeatCount = int.MAX_VALUE;
Starling.juggler.add(delayedCall);
function method():void
{
trace("ping");
}
これがアニメーションに関係しない場合は、アニメーション以外のコンテンツにタイマーを使用することをお勧めします。
タイマーの実装は、フレーム開始ハンドラーでの追加の時間計算よりもパフォーマンスが高くなります。
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;
}
}