спасибо, помогло, правда пишут что putImageData слишком ресурсоемкий и по возм. его не использовать. Есть еще варианты?
и еще вопросы. есть объект Цветок:
var wind;
var pos=0;
var flower= {
init: function(x,y,sprite){
function animateFlower(){
c.putImageData(cache_canvas,x,y);
var imgFlower=new Image();
imgFlower.src=sprite.spriteimg;
c.drawImage(imgFlower,(sprite.flower[0]+pos)*16,sprite.flower[1]*16,16,16,x,y,16,16)
pos<3 ? pos++ : pos=0;
x+=16;
}
var cache_canvas=c.getImageData(x,y,16,16)
animateFlower();
wind=setInterval(animateFlower,500)
},
clear: function(){
clearInterval(wind);
}
}
где х, у - координаты места на холсте, sprite - ссылка на спрайт-объект
Инициализируем flower.init(100, 100,sprite);
во время анимации его координата х меняется.
1. Как мне ее получить чтобы потом обрабатывать столкновения? добавляю в объект flover:
posX: function(){
return x
}
но alert(flower.posX) печатает мне function(){return x}
2. допустим я захочу на игровое поле добавить еще цветок: flower.init(150, 150,sprite);
как мне теперь обратиться к нужному? например я захочу переместить 1й или 2й или скажем остановить анимацию какого-то из них