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

Сообщение от DenBraun Посмотреть сообщение
если объекты должны взаимодействовать друг с другом то все рисуешь на одном холсте, можно написать класс который эмулирует слои рендеринга, то есть чтоб манипулировать уровнем отрисовки. В CSS полезно размещать все объекты которые не включены в игровую логику а просто я вляются интерьером игры или интерфейсом.
пример: bug-wars.com/bugwars.html
один canvas элемент
О, клевая ссыль. Надо будет попробовать распотрошить игрушку))

function player(x,y,sprite) {
this.x=x;
this.y=y;
var cache_canvas;
var move;

this.walk_left=function(){
	alert("a");

}

this.init= function(){
	

	document.onkeydown=function(e) {
	   if(e.keyCode==37) {this.walk_left; /*move=setInterval('this.walk_left',600);*/}

	}

	document.onkeyup=function(e) {
	   if(e.keyCode==37 || e.keyCode==38 || e.keyCode==39 || e.keyCode==40) this.clear();
	}


}


this.clear= function(){
	clearInterval(move);
}

this.init();
}

Добавляем игрока на холст: var hero=new player(160, 144,sprite);

Он появляется, но когда я жму на клавишу "стрелка влево",this.walk_left почему-то не запускается((

Последний раз редактировалось daima, 21.08.2012 в 12:03.
Ответить с цитированием