タイトルによると、PixiJSの固定フレームレートはどのようにして25fpsに設定されますか?私はそれよりも多くのフレームを行うにはしたくないPixiJS - 固定フレームレートの設定
g_App = new PIXI.Application(800, 600, { backgroundColor: 0x1099bb });
document.getElementById("canvas-div").appendChild(g_App.view);
:
は、ここに私の設定です。
タイトルによると、PixiJSの固定フレームレートはどのようにして25fpsに設定されますか?私はそれよりも多くのフレームを行うにはしたくないPixiJS - 固定フレームレートの設定
g_App = new PIXI.Application(800, 600, { backgroundColor: 0x1099bb });
document.getElementById("canvas-div").appendChild(g_App.view);
:
は、ここに私の設定です。
requestAnimationFrameを使ったPixiJSに関する@wavemodeのコメントの後、私は以下のことをしなければならないかもしれません。 (注:より良い解決策がある場合は投稿してください。それ以外の場合は答えとしてマークします)。
フレームレートを超えている場合は、基本的にアニメーションを停止してください。
後、私たちは、アニメーション設定するときに次にvar g_TICK = 40; // 1000/40 = 25 frames per second
var g_Time = 0;
:
// Listen for animate update
g_App.ticker.add(function (delta) {
// Limit to the frame rate
var timeNow = (new Date()).getTime();
var timeDiff = timeNow - g_Time;
if (timeDiff < g_TICK)
return;
// We are now meeting the frame rate, so reset the last time the animation is done
g_Time = timeNow;
// Now do the animation
// rotate the container!
// use delta to create frame-independent tranform
container.rotation -= 0.01 * delta;
g_Bunny0.x += 1;
});
25FPSはフレームあたり40ミリ秒です。あなたはスクリーンが毎秒25回を更新したいのであれば、すべてのフレームは、あなたが
のsetTimeout(myRenderFunction、40)
を呼び出す必要があります。
これは通常 'g_App.ticker.add(関数(デルタ){ここに/ *私のアニメーションを* /})を使用していませんが;物事の方法。では、実際にPixiJS環境でキャンバスをペイントするには、myRenderFunctionに何を配置しますか? – Rewind
@Rewind 'myRenderFunction'はゲームのループ内のすべてを含んでいなければなりません。 Pixi.JSティッカーは 'requestAnimationFrame'を使用します。これは常にモニターのリフレッシュレート(おそらく60fps)で動作します。 25を望むなら、 'setTimeout'または' setInterval'で25fpsで手動で描画する必要があります。 – wavemode
実際にPixiJSシーンを描画するためにmyRenderFunctionで何を呼びますか? PixiJSが自動的に独自のことをやって、setTimeoutの外でシーンを描画するのを止めるにはどうすればいいですか? – Rewind