我有一个逐帧动画,我想在 HTML 5 中重新创建。
例如,我有一个元素,例如一个球,以及像这样的关键帧:
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
这四个位置代表关键帧 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>
但是这段代码没有显示我将如何在其中包含一个动画对象......
我很感激任何帮助。谢谢。