Показать сообщение отдельно
  #16 (permalink)  
Старый 10.08.2012, 11:21
Аспирант
Отправить личное сообщение для daima Посмотреть профиль Найти все сообщения от daima
 
Регистрация: 01.08.2012
Сообщений: 59

спасибо, помогло, правда пишут что 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й или скажем остановить анимацию какого-то из них
Ответить с цитированием