HTML5で再現したいフレームごとのアニメーションがあります。
たとえば、ボールなどの1つの要素と、次のようなキーフレームがあります。
var x = new Array(102,130,140,200);
var y = new Array(52,120,240,400);
var opacity = new Array(0,0.2,0.5,0.3); // I am assuming opacity goes from 0 to 1
これらの4つの位置は、キーフレーム1、2、3、および4のボール位置のx、y、および不透明度を表します。
各キーフレームは、たとえば1/30秒ごとに呼び出されます。アニメーション化する要素(この例ではボール)は、png画像です。
キャンバス上でそのボールをアニメートするにはどうすればよいですか?
私はこのコードを見つけました:
<!DOCTYPE HTML>
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
#myCanvas {
border: 1px solid #9C9898;
}
</style>
<script>
window.requestAnimFrame = (function(callback) {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1 / 30);
};
})();
function animate() {
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
// update stage
// clear stage
context.clearRect(0, 0, canvas.width, canvas.height);
// render stage
// request new frame
requestAnimFrame(function() {
animate();
});
}
window.onload = function() {
animate();
};
</script>
</head>
<body>
<canvas id="myCanvas" width="578" height="200"></canvas>
</body>
</html>
しかし、このコードは、そこでアニメーション化するオブジェクトをどのように含めるかを示していません...
助けていただければ幸いです。ありがとう。