keyboard adding
This commit is contained in:
		
							parent
							
								
									399822d312
								
							
						
					
					
						commit
						2eb32dae29
					
				
					 3 changed files with 60 additions and 4 deletions
				
			
		|  | @ -4,6 +4,7 @@ | |||
|         <script type="text/javascript" src="./js/render.js"></script> | ||||
|         <script type="text/javascript" src="./js/input.js"></script> | ||||
|         <script type="text/javascript" src="./js/network.js"></script> | ||||
|         <script type="text/javascript" src="./js/keyboard.js"></script> | ||||
|         <script type="text/javascript" src="./js/game.js" defer></script> | ||||
|     </head> | ||||
|     <body> | ||||
|  |  | |||
|  | @ -1,21 +1,22 @@ | |||
| Renderer = new Render("canvas", "./assets/map/map7_recadr.png"); | ||||
| Inp = new Input("canvas"); | ||||
| let Net = new Network("ws://129.151.227.50:9600/"); | ||||
| let ClientKeyboard = new Keyboard() | ||||
| 
 | ||||
| 
 | ||||
| let playerId; //id of client player
 | ||||
| let players = []; | ||||
| 
 | ||||
| 
 | ||||
| Net.connect(); //connect to server, create a player, and retrieve all players info
 | ||||
| ClientKeyboard.init(); | ||||
| 
 | ||||
| 
 | ||||
| setInterval(game); | ||||
| 
 | ||||
| function game() { | ||||
| 	for (var i = players.length - 1; i >= 0; i--) { | ||||
| 		players[i].update([],[]); | ||||
| 	} | ||||
| 	//console.log(Inp.calculateAngle(500,500))
 | ||||
| 	Renderer.ReloadAff(); | ||||
| } | ||||
| } | ||||
| 
 | ||||
| setInterval(game); | ||||
							
								
								
									
										54
									
								
								js/keyboard.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								js/keyboard.js
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | |||
| class Keyboard{ | ||||
| 	constructor(){ | ||||
| 		this.keysDown = new Set() | ||||
| 	} | ||||
| 
 | ||||
| 	updateDir(){ | ||||
| 		let newDir = 0; | ||||
| 		if(this.keysDown.has('z')){ | ||||
| 			if(this.keysDown.has('d')){ | ||||
| 				newDir = 2; | ||||
| 			}else if(this.keysDown.has('s')){ | ||||
| 				newDir = 0; | ||||
| 			}else if(this.keysDown.has('q')){ | ||||
| 				newDir = 8; | ||||
| 			}else{ | ||||
| 				newDir = 1; | ||||
| 			} | ||||
| 		}else if(this.keysDown.has('d')){ | ||||
| 			if(this.keysDown.has('s')){ | ||||
| 				newDir = 4; | ||||
| 			}else if(this.keysDown.has('q')){ | ||||
| 				newDir = 0; | ||||
| 			}else{ | ||||
| 				newDir = 3; | ||||
| 			} | ||||
| 		}else if(this.keysDown.has('s')){ | ||||
| 			if(this.keysDown.has('q')){ | ||||
| 				newDir = 6; | ||||
| 			}else{ | ||||
| 				newDir = 5; | ||||
| 			} | ||||
| 		}else if(this.keysDown.has('q')){ | ||||
| 			newDir = 7; | ||||
| 		} | ||||
| 		console.log(newDir) | ||||
| 		for (var i = players.length - 1; i >= 0; i--) { | ||||
| 			if(players[i].id==playerId){ | ||||
| 				players[i].dir = newDir; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	init(){ | ||||
| 		document.addEventListener("keydown", (e)=>{ | ||||
| 			this.keysDown.add(e.key.toLowerCase()) | ||||
| 			this.updateDir(); | ||||
| 		}) | ||||
| 
 | ||||
| 		document.addEventListener("keyup", (e)=>{ | ||||
| 			this.keysDown.delete(e.key.toLowerCase()) | ||||
| 			this.updateDir(); | ||||
| 		}) | ||||
| 	} | ||||
| } | ||||
		Loading…
	
		Reference in a new issue