私はHTML5に変換しようとしています。今私はすべてのイメージを取り出した。たとえば、手アニメーションでは、私はすべての手画像の画像を撮影しています。私は基本図でキャンバスを作ったが、フレームごとにそれらのイメージを置き換える方法を知らない。キャンバスを使ったHTML5のフレーム別アニメーション
function draw(){
var canvas = document.getElementById('canvas');
if(canvas.getContext){
// canvas animation code here:
var ctx = canvas.getContext('2d');
var lhs = new Image();
lhs.src = "images/left_hnd_1.png";
lhs.onload = function(){
ctx.drawImage(lhs, 293, 137);
}
} else {
// canvas unsupported code here:
document.getElementById('girl').style.display = "block";
}
}
ここでは、この画像用にさらに3つのフレームがあります。 left_hnd_2.jpg。私は1つの画像を使用していましたが、フレームの違いは1つの画像で処理するには多すぎます。私はどのように私は私が望む時間差でこれをアニメーション化することができます。
アイデアをいただければ幸いです。ありがとう!
このソリューションはうまくいきます。 質問:キャンバスに複数の画像を描画すると、カスケード効果が発生します。私は画像を描画する必要があります、キャンバスをクリアする、画像を描画する++など62イメージファイルがあるので、1つのファイルに結合するのが最良の方法ではありません。あなたのコードでは、キャンバスをクリアして再描画するなどの最善の方法は何ですか? –
私は自分の答えを編集して、描画する前にキャンバスをクリアするために必要な1行を追加しました。 (キャンバスの幅/高さをキャッシュすることで、これをより速く作ることができます。または、すべて同じであれば、imgの幅/高さを使用してください) – Phrogz
これは素晴らしいですが、アニメーションが再生される前に画像を完全にキャッシュする必要があります。したがって、最初の負荷では再生されません。リロード時のみ。私はこれを解決しようとするのに役立つ質問をするつもりです。 – Paul