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