代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body style="background-color: black;">
<!-- 图片显示区域 -->
<canvas id="canvas" style="border:1px dashed gray;" width=500 height=500></canvas>
<script>
let imageList = []; // 图片路径数组
for(let i = 0; i < 150; i++){
let index = i + "";
imageList.push({url: `./earth/\u5408\u6210%202_00${index.padStart(3, "0")}.png`});
}
let imagesMap = new Map(); // 用户缓存获取的图片内容
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
// 绘制图片
imageList.forEach((img, i) => {
let newImage = new Image();
newImage.src = img.url;
newImage.onload = () => {
imagesMap.set(i, newImage); // 将图片缓存下来!
}
})
let i = 0;
function render(){
let image = imagesMap.get(i%150);
if (image){
if (i%3==0){
context.clearRect(0,0,500,500);
context.drawImage(image, 0, 0, 500, 500);
}
i++;
}
requestAnimationFrame(render); // 刷新
}
render();
</script>
</body>
</html>
图片目录
动态效果
)