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