Add button interaction
This commit is contained in:
parent
6223b35536
commit
4a253b0184
12 changed files with 247 additions and 23 deletions
46
js/input.mjs
Normal file
46
js/input.mjs
Normal file
|
@ -0,0 +1,46 @@
|
|||
import {canvas} from './graphics/index.mjs';
|
||||
|
||||
export const mouse = { pressed: {}, held: {}, x: 0, y: 0 };
|
||||
export const keyCode = { pressed: {}, held: {} };
|
||||
export const key = { pressed: {}, held: {} };
|
||||
export const action = {};
|
||||
|
||||
const mapping = {};
|
||||
|
||||
export function tick() {
|
||||
mouse.pressed = {};
|
||||
keyCode.pressed = {};
|
||||
key.pressed = {};
|
||||
}
|
||||
|
||||
export function init() {
|
||||
window.addEventListener('keydown', event => {
|
||||
keyCode.pressed[event.code] = !keyCode.held[event.code];
|
||||
keyCode.held[event.code] = true;
|
||||
key.pressed[event.key] = !keyCode.held[event.key];
|
||||
key.held[event.key] = true;
|
||||
});
|
||||
|
||||
window.addEventListener('keyup', event => {
|
||||
keyCode.pressed[event.code] = false;
|
||||
keyCode.held[event.code] = false;
|
||||
key.pressed[event.key] = false;
|
||||
key.held[event.key] = false;
|
||||
});
|
||||
// Ṕ͕͖ẖ̨’̖̺͓̪̹n̼͇͔̯̝̖g̙̩̭͕ͅͅl̻̰͘u͎̥͍̗ͅi̼̞̪̩͚̜͖ ̫̝̻͚͟m͎̳̙̭̩̩̕g̟̤̬̮l̫̕w̶͚͈͚̟͔’͖n͏̝͖̞̺ͅa͏̹͓̬̺f̗̬̬̬̖̫͜h͙̘̝̱̬̗͜ ̼͎͖C̱͔̱͖ṭ̬̱͖h̵̰̼̘̩ùlh̙́u̪̫ ̪̺̹̙̯R̞͓̹̞’͍͎͉͎̦͙ͅl͇̠̮y̙̪̰̪͙̖e̢̩͉͙̼h̗͔̹̳ ̶w̨̼͍̝̭̣̣ͅg̶̳̦̳a̴͉̹͙̭̟ͅh͈͎̞̜͉́’̼̜̠͞n̲a̯g̮͚͓̝l̠ ̹̹̱͙̝f̧̝͖̱h̪̟̻͖̖t͎͘aͅg̤̘͜n̶͈̻̻̝̳
|
||||
window.addEventListener('mousedown', event => {
|
||||
mouse.pressed[event.button] = !mouse.held[event.button];
|
||||
mouse.held[event.button] = true;
|
||||
});
|
||||
|
||||
window.addEventListener('mouseup', event => {
|
||||
mouse.pressed[event.button] = false;
|
||||
mouse.held[event.button] = false;
|
||||
});
|
||||
|
||||
window.addEventListener('mousemove', event => {
|
||||
let rect = canvas.getBoundingClientRect();
|
||||
mouse.x = event.clientX - rect.left;
|
||||
mouse.y = event.clientY - rect.top;
|
||||
});
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue