Не знаю, почему мой clearRect() не работает внутри моего сброса. Однако он работает в моей функции «вверх». (Моя функция «вверх» используется для очистки холста, а затем рисует + переводит изображение на 10 пикселей)html5 холст: clearRect() не работает внутри функция
Назначение - создать объект на холсте, который можно перемещать по щелчкам кнопки пользователя. Одна из кнопок должна быть кнопкой сброса, которая очищает холст и перерисовывает изображение в центре холста.
Вот мой код ниже. Там должны быть 4 функции для движения, но я включил только «вверх» функцию движения здесь для общей идеи:
var surface = document.getElementById("drawingSurface");
var ctx = surface.getContext("2d");
var reset = function() {
alert("Testing"); // <--- This works
ctx.clearRect(0, 0, 499, 499); // <--- But this is not working
ctx.beginPath();
ctx.strokeRect(200, 200, 100, 100);//Face
ctx.fillRect(220, 225, 15, 15);//Left eye
ctx.fillRect(265, 225, 15, 15);//Right eye
ctx.fillRect(245, 250, 10, 10); // Nose
ctx.fillRect(210, 185, 20, 15); // Left ear
ctx.fillRect(270, 185, 20, 15); // Left ear
ctx.closePath();
};
var up = function() {
ctx.clearRect(0, 0, 499, 499);
ctx.beginPath();
ctx.translate(0, -10);
ctx.strokeRect(200, 200, 100, 100);//Face
ctx.fillRect(220, 225, 15, 15);//Left eye
ctx.fillRect(265, 225, 15, 15);//Right eye
ctx.fillRect(245, 250, 10, 10); // Nose
ctx.fillRect(210, 185, 20, 15); // Left ear
ctx.fillRect(270, 185, 20, 15); // Left ear
ctx.closePath();
};
Вот мой HTML:
<canvas id="drawingSurface" width="500" height="500" style="border: 1px
solid black; background-color: #FFF;">Cat</canvas>
<br>
<button onclick="reset();">RESET</button>
<button onclick="up();">MOVE UP</button>
<button onclick="left();">MOVE LEFT</button>
<button onclick="right();">MOVE RIGHT</button>
<button onclick="down();">MOVE DOWN</button>
При выполнении кода он возвратил ошибку: 'сброс не является функцией. Попробуйте изменить его на 'function reset 'или' window.reset = function' – AndreFeijo