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/render.js"></script>
|
||||||
<script type="text/javascript" src="./js/input.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/network.js"></script>
|
||||||
|
<script type="text/javascript" src="./js/keyboard.js"></script>
|
||||||
<script type="text/javascript" src="./js/game.js" defer></script>
|
<script type="text/javascript" src="./js/game.js" defer></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,22 @@
|
||||||
Renderer = new Render("canvas", "./assets/map/map7_recadr.png");
|
Renderer = new Render("canvas", "./assets/map/map7_recadr.png");
|
||||||
Inp = new Input("canvas");
|
Inp = new Input("canvas");
|
||||||
let Net = new Network("ws://129.151.227.50:9600/");
|
let Net = new Network("ws://129.151.227.50:9600/");
|
||||||
|
let ClientKeyboard = new Keyboard()
|
||||||
|
|
||||||
|
|
||||||
let playerId; //id of client player
|
let playerId; //id of client player
|
||||||
let players = [];
|
let players = [];
|
||||||
|
|
||||||
|
|
||||||
Net.connect(); //connect to server, create a player, and retrieve all players info
|
Net.connect(); //connect to server, create a player, and retrieve all players info
|
||||||
|
ClientKeyboard.init();
|
||||||
|
|
||||||
|
|
||||||
setInterval(game);
|
|
||||||
|
|
||||||
function game() {
|
function game() {
|
||||||
for (var i = players.length - 1; i >= 0; i--) {
|
for (var i = players.length - 1; i >= 0; i--) {
|
||||||
players[i].update([],[]);
|
players[i].update([],[]);
|
||||||
}
|
}
|
||||||
//console.log(Inp.calculateAngle(500,500))
|
//console.log(Inp.calculateAngle(500,500))
|
||||||
Renderer.ReloadAff();
|
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