Тема: HTML5 Arcanoid
Показать сообщение отдельно
  #10 (permalink)  
Старый 11.01.2011, 19:01
Аспирант
Отправить личное сообщение для Awilum Посмотреть профиль Найти все сообщения от Awilum
 
Регистрация: 05.09.2010
Сообщений: 84

спасибо всем за отзывы и замечания
я тут основу переписываю и хочу клаву добавить. Вот так я это сделал

input.js

// Mouse input
	var mouseX = 0;
	var mouseY = 0;
	var mouseClickX = 0;
	var mouseClickY = 0;
	
	// Keyboard input
	var keys = 0;
	var KEY_LEFT  = false;
	var KEY_RIGHT = false;
	var KEY_UP    = false;
	var KEY_DOWN  = false;	
	var KEY_W 	  = false;
	var KEY_A  	  = false;
	var KEY_S 	  = false;
	var KEY_D     = false;
	
	
	function mouseMove(event) {
		mouseX = event.clientX - canvas.offsetLeft;    
		mouseY = event.clientY - canvas.offsetTop;    
	}

	function mouseClick(event) {
		mouseClickX = event.clientX - canvas.offsetLeft;    
		mouseClickY = event.clientY - canvas.offsetTop;    		
	}
	
	function keyboardUpdateStates(event) {				
		key = event.keyCode;		
		if(key == 39) KEY_RIGHT = true; 
		if(key == 37) KEY_LEFT  = true; 
		if(key == 38) KEY_DOWN  = true; 
		if(key == 40) KEY_UP    = true; 

		if(key == 65) KEY_A  = true; 
		if(key == 87) KEY_W  = true; 
		if(key == 68) KEY_D  = true; 
		if(key == 83) KEY_S  = true; 
		
		if(ENGINE_DEBUG) console.log(key);
	}
	
	function keyboardClearStates(event) {
		key = event.keyCode;
		KEY_RIGHT = false;
		KEY_LEFT  = false;
		KEY_DOWN  = false; 
		KEY_UP    = false; 
		KEY_W 	  = false;
		KEY_A  	  = false;
		KEY_S 	  = false;
		KEY_D     = false;
	}


и тогда главный файл со сценой выглядит так:

<!DOCTYPE html>
<html>
<head>    
    <script type="text/javascript" src="../../engine/Core.js"></script>
	<script type="text/javascript" src="js/exemple1.js"></script>
</head>
<body onload="geRun()"
	  onkeydown="keyboardUpdateStates(event)"
	  onkeyup="keyboardClearStates(event)"> 
    <canvas id = "canvas"
            width = "640"
            height = "480"
			onmousemove="mouseMove(event)"
			onclick="mouseClick(event)">
    </canvas>
</body>
</html>


мне кажется что отлавливание мыши и клавы я не красиво реализовал. Кто что думает по поводу этого ? Ваши варианты...
Ответить с цитированием