Есть ли способ очистить холст (html5) только от 1 элемента? У меня есть движущееся изображение на холсте, и когда я стираю изображение, цвет фона идет тоже. Есть ли способ просто удалить изображение, а не весь фон. Мой фон просто прост, но в будущем это будет сложнее.удалить часть движущегося изображения
Это также сложно, потому что нет способа получить изображение x, y pos из свойства.
ClassLoadImages.prototype.m_move = function(){
this.x=++img1_x;
this.y=++img1_y;
//img1_x++;
//img1_y++;
// alert(img.x);
ctx.drawImage(img.imgElement, this.x, this.y);
// ctx.fillText("finished loading " ,10,40);
};
function doGameLoop() {
ctx.clearRect(0,0,600,400);
img.m_move();
if (img.x>30)
{
clearInterval(gameLoop);
}
}
var img= new ClassLoadImages('images/image4.jpg');
gameLoop = setInterval(doGameLoop, 100);
</script>
так что решение состоит в том, чтобы снова перерисовать весь холст? – jagguy
Да, я бы так сказал. Если вы не можете понять, как просто перерисовать бит позади изображения, которое вы хотите удалить. Но в любом случае вам придется отслеживать элементы на холсте. –
@jagguy - посмотрите на http://kineticjs.com/ и посмотрите, есть ли у него функция делать то, что вы хотите. Я только кратко посмотрел на него и добавил его в закладки для будущего использования. –