У меня есть проект о шахматах. Я использую холст и устанавливаю фон для создания доски. Затем нарисуйте на нем 32 штуки. Я использовал requestAnimFrame для перерисовки 32 штук после перемещения части. Но когда я перемещаю кусок, экран мигает. Можете ли вы объяснить это или где я ошибаюсь?HTML нарисовать несколько изображений на одном холсте
Вот мой код: игра Класс:
this.true = false;
this.b = new Boards();
this.ctx = canvas;
animate();
game = this;
canvas.addEventListener('mousemove', function(e) {
this.valid = false;
})
function animate() {
requestAnimationFrame(animate);
if(!game.valid) {
game.b.clear(game.ctx);
game.b.draw(game.ctx);
game.valid = true;
}
}
Класс Board
function draw(ctx) {
imgChessman = new Image();
imgChessman.src = "/path/src";
imgChessman.onload = function() {
for(var i = 0; i <= 8; i++) {
for(var j = 0; j <= 9; j++) {
if(boards[i][j]) {
boards[i][j].draw(ctx);
}
}
}
}
благодарю вас за обмен :). Я понял, я перезагружаю изображение каждый раз, когда я перерисовываю :( – Windranger