У меня есть несколько объектов, отображаемых на холсте, каждый из которых слушает нажатие клавиши для направленного движения и перерисовывает с помощью requestAnimationFrame .
Проблема в том, что, если я установлю прозрачный холст на каждом из перерисовываемых объектов, будет несколько функций прозрачного холста, выполняющихся между различными перерисовками объектов, вызывающих мерцание объектов. Как лучше всего перерисовать (и очистить) несколько объектов на холсте.
function CreatePawn() {
var x = 25,
y = 25;
animate();
function draw() {
ctx.clearRect(0, 0, cwidth, cheight);
ctx.beginPath();
ctx.lineWidth="3";
ctx.arc(x, y, 2, 0, Math.PI * 2, true); // circle
ctx.stroke();
};
function animate() {
requestAnimationFrame( animate );
if(left) x -= speed;
if(up) y -= speed;
if(right) x += speed;
if(down) y += speed;
draw();
};