0
我想要一个循环,相同的动画alwys come.But它不工作,如果somenone可以帮助我,我会很高兴。 现在细节让动画运行一次,而不是停止。但动画应该在第一次运行之后再运行一次,之后再运行一次,等等。动画循环与画布不工作
console.log("Start");
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d'); //ctx = contex
var img = new Image();
img.src = "../img/cookie.png";
canvas.width = canvas.scrollWidth;
canvas.height = canvas.scrollHeight;
console.log("Loaded image");
var add = 10;
onload = function Hallo() {
if (add == 500) {
console.log("resetet")
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.beginPath();
ctx.rect(0, 0, 1000, 1000);
ctx.fillStyle = "lightblue";
ctx.fill();
ctx.drawImage(img, 0, 0, 100, 100);
ctx.drawImage(img, 100, 0, 100, 100);
ctx.drawImage(img, 200, 0, 100, 100);
ctx.drawImage(img, 300, 0, 100, 100);
ctx.drawImage(img, 400, 0, 100, 100);
ctx.drawImage(img, 500, 0, 100, 100);
ctx.drawImage(img, 600, 0, 100, 100);
ctx.drawImage(img, 700, 0, 100, 100);
} else {
console.log("Animation beginnt")
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.beginPath();
ctx.rect(0, 0, 1000, 1000);
ctx.fillStyle = "lightblue";
ctx.fill();
ctx.drawImage(img, 0, add, 100, 100);
ctx.drawImage(img, 100, add, 100, 100);
ctx.drawImage(img, 200, add, 100, 100);
ctx.drawImage(img, 300, add, 100, 100);
ctx.drawImage(img, 400, add, 100, 100);
ctx.drawImage(img, 500, add, 100, 100);
ctx.drawImage(img, 600, add, 100, 100);
ctx.drawImage(img, 700, add, 100, 100);
add++;
window.requestAnimationFrame(Hallo);
}
}
window.requestAnimationFrame(Hallo);
尝试增加'window.requestAnimationFrame(喂) ;'给你的第一个'if'块。你有'else',但不是第一个。 – zero298
啊好吧我试了一下,但它不工作谢谢 – Yuto