こんにちわ。
職人見習いの小森です。
今回は、HTML5におけるアニメーションループについてです。
私はゲームを作っていた経験もあり、HTML5におけるゲーム開発にも興味あるので調べてみました。
○setInterverlを使ったループ
function render(){
// アニメーション 1フレーム分の処理
}
setInterval(render, 1000 / 60);
setTimeoutやsetInterverlを利用したやり方が一般的ですが、requestAnimationFrameというのが新たに用意されています。
○requestAnimationFrameを利用したループ
if ( !window.requestAnimationFrame ) {
window.requestAnimationFrame = ( function() {
return window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback, element) {
window.setTimeout( callback, 1000 / 60 );
};
} )();
}
requestAnimationFrameを利用する場合も非対応ブラウザへの対処も必要なため、非対応ならsetTimeoutやsetInterverlでループする対策も必要になります。
※この記事は、なかの人(spitz8008)が書いています。