【发布时间】:2016-06-22 22:24:11
【问题描述】:
我正在尝试弄清楚如何使用三张图像的顺序制作动画。
默认图像是“image1.png”,在页面加载时始终显示。
每 5 秒后,变量“back.src”必须突然改变 到 image2.png,所以不会褪色。默认为 image1.png
然后在 0.5 秒后,变量再次更改,但随后变为 image3.png.
0.5 秒后变回 image2.png
0.5 之后又回到 image1.png。
这是循环重复的,因为我想在 5 秒后再次重复该过程。
我的问题是,我不知道构建这段代码是否是最好的方法。根据上述要求,我的代码应该是什么样子?
这是我到目前为止的代码:
var back = new Image();
back.src = "image1.png";
function wait(miliseconds) {
var currentTime = new Date().getTime();
while (currentTime + miliseconds >= new Date().getTime()) {
}
}
function image1() {
wait(5000);
back.src = "image2.png";
}
function image2() {
wait(500);
back.src = "image3.png";
}
function image3() {
wait(500);
back.src = "image2.png";
}
function animate(){
ctx.save();
ctx.clearRect(0, 0, cW, cH);
ctx.drawImage(back,0,0);
ctx.restore();
}
var animateInterval = setInterval(animate, 30);
【问题讨论】:
-
用
setInterval代替while怎么样? -
这看起来像一个非常阻塞的代码。
标签: javascript jquery