エディターは、HTML5 アニメーションを実装するための 3 つの方法を例として説明しています。アニメーションは、キャンバスだけでなく、CSS3 や JavaScript も使用できます。適切な選択を行うことで、最適な実装を実現できます。
追記: グラフィックス カード、記録フレーム間隔、および場合によってはコンピューターのプロセッサーが原因で、再生プロセスが少し滑らかでなかったり、歪んだりする可能性があります。
これは 3 つの方法で実装できます:
(1) JS と組み合わせた Canvas 要素
(2) 純粋な CSS3 アニメーション (IE などのすべての主流ブラウザではサポートされていません)
(3) CSS3 と Jquery の組み合わせ
CSS3 アニメーションの使用方法を知ることは、<canvas> 要素の使用方法を知ることよりも重要です。ブラウザはこれらの要素 (通常はスタイル) のパフォーマンスを最適化できるためです。 、CSS など)ですが、キャンバスを使用して描画をカスタマイズするために使用する効果は最適化できません。その理由もまた、ブラウザで使用されるハードウェアは主にグラフィックス カードの機能に依存するためです。現在、ブラウザではグラフィック カードに直接アクセスできません。たとえば、すべての描画操作では、まずブラウザ内の特定の関数を呼び出す必要があります。
1.canvas
html コード:
canvas 要素を使用した HTML5 のアニメーション
js コード:
いくつかの変数を定義します:
rate=1, //現在の再生速度
ani, //現在のアニメーション ループ
c, / /Drawing (Canvas Context)
w, //Car [hidden](Canvas Context)
grassHeight=130, //背景の高さ
carAlpha=0, //タイヤの回転角度
carX=- 400 , //車のx軸方向の位置(変更されます)
carY=300, //車のy軸方向の位置(一定になります)
carWidth= 400, //車の幅
carHeight=130, //車の高さ
tiresDelta=15, //1つのタイヤから最も近い車のシャーシまでの距離
axisDelta=20, / /車の下部シャーシの軸とタイヤの間の距離
radius=60 //タイヤの半径
;
車のキャンバス (最初は非表示) をインスタンス化するには、次の自己実行匿名関数を使用します
var car=document.createElement('canvas'); //要素を作成します
car.height=carHeight axisDelta 半径; //高さを設定
car.width=carWidth; //幅を設定
「再生」ボタンをクリックして、「車の描画」操作を一定の間隔で繰り返し実行することで「フレーム再生」機能をシミュレートします。
コードをコピー
s.innerHTML='Play' ; // ボタンの名前を「Play」に変更します
}else{
ani=setInterval(drawCanvas,40) // アニメーションを 25fps [フレーム/秒]、つまり 40/1000 に設定します。 -twenty-fifth
s.innerHTML='Pause' // ボタンの名前を「一時停止」に変更します
}
}
;
加減速は以下の方法で移動距離を変えることで実現します。
コードをコピー
CSS コード:
ボディ
{
パディング:0;
}
ボディとタイヤの回転のアニメーションを定義します (基本的にすべてのアニメーションには 4 つのバージョンの定義があることがわかります: ネイティブ バージョン/webkit[Chrome|Safari]/ms[IE10 との下位互換性のため]/moz[FireFox ])