keyboard adding

This commit is contained in:
Killian Marty 2023-11-19 19:20:02 +01:00
parent 399822d312
commit 2eb32dae29
3 changed files with 60 additions and 4 deletions

View file

@ -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>

View file

@ -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
View 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();
})
}
}