Fix FPS Button

This commit is contained in:
OleSTEEP 2024-03-02 17:59:38 +03:00
parent f135ed52ae
commit fa5f2a98eb
6 changed files with 44 additions and 46 deletions

View file

@ -9,7 +9,7 @@
<link rel="apple-touch-icon" href="icon/icon.png">
<link rel="stylesheet" type="text/css" href="fonts/gamefont.css">
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, width=device-width, viewport-fit=cover">
<link rel="stylesheet" type="text/css" href="js/porting/css/controls.css">
<title>OMORI</title>
</head>

View file

@ -0,0 +1,8 @@
.fps-button {
position: absolute;
left: 5px;
top: 5px;
width: 90px;
height: 40px;
z-index: 1489;
}

View file

@ -2,18 +2,23 @@
function create_fps_button() {
// Remove in release
const keys = [{ key: 'F2', keyCode: 113 }];
const FPSBtn = document.createElement("div");
FPSBtn.className = "fps-button";
FPSBtn.id = "buttonF2";
document.body.appendChild(FPSBtn);
for (const key of keys) {
const elementId = key.id === undefined ? `button${key.key}` : key.id;
console.log(`Setting up the ${elementId} key...`);
setupKey(elementId, key.key, key.keyCode);
}
console.log(`Setting up the FPS key...`);
FPSBtn.addEventListener("pointerdown", (event) => {
console.log(`Pointer down for F2`); //Remove in release
event.stopImmediatePropagation();
event.preventDefault();
sendEvent(false, 113);
});
FPSBtn.addEventListener("pointerup", () => {
sendEvent(true, 113);
});
}
function sendEvent(isUp, keycode) {
@ -21,20 +26,6 @@ function sendEvent(isUp, keycode) {
document.dispatchEvent(new KeyboardEvent(isUp ? 'keyup' : 'keydown', { 'key': '', keyCode: keycode }))
}
function setupKey(id, key, keyCode) {
const element = document.getElementById(id);
element.addEventListener("pointerdown", (event) => {
console.log(`Pointer down for ${id}`); //Remove in release
event.stopImmediatePropagation();
event.preventDefault();
sendEvent(false, keyCode);
});
element.addEventListener("pointerup", () => {
sendEvent(true, keyCode);
});
}
window.addEventListener('load', () => {
create_fps_button(); // Remove in release
});

View file

@ -9,7 +9,7 @@
<link rel="apple-touch-icon" href="icon/icon.png">
<link rel="stylesheet" type="text/css" href="fonts/gamefont.css">
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, width=device-width, viewport-fit=cover">
<link rel="stylesheet" type="text/css" href="js/porting/css/controls.css">
<title>OMORI</title>
</head>

View file

@ -0,0 +1,8 @@
.fps-button {
position: absolute;
left: 5px;
top: 5px;
width: 90px;
height: 40px;
z-index: 1489;
}

View file

@ -2,18 +2,23 @@
function create_fps_button() {
// Remove in release
const keys = [{ key: 'F2', keyCode: 113 }];
const FPSBtn = document.createElement("div");
FPSBtn.className = "fps-button";
FPSBtn.id = "buttonF2";
document.body.appendChild(FPSBtn);
for (const key of keys) {
const elementId = key.id === undefined ? `button${key.key}` : key.id;
console.log(`Setting up the ${elementId} key...`);
setupKey(elementId, key.key, key.keyCode);
}
console.log(`Setting up the FPS key...`);
FPSBtn.addEventListener("pointerdown", (event) => {
console.log(`Pointer down for F2`); //Remove in release
event.stopImmediatePropagation();
event.preventDefault();
sendEvent(false, 113);
});
FPSBtn.addEventListener("pointerup", () => {
sendEvent(true, 113);
});
}
function sendEvent(isUp, keycode) {
@ -21,20 +26,6 @@ function sendEvent(isUp, keycode) {
document.dispatchEvent(new KeyboardEvent(isUp ? 'keyup' : 'keydown', { 'key': '', keyCode: keycode }))
}
function setupKey(id, key, keyCode) {
const element = document.getElementById(id);
element.addEventListener("pointerdown", (event) => {
console.log(`Pointer down for ${id}`); //Remove in release
event.stopImmediatePropagation();
event.preventDefault();
sendEvent(false, keyCode);
});
element.addEventListener("pointerup", () => {
sendEvent(true, keyCode);
});
}
window.addEventListener('load', () => {
create_fps_button(); // Remove in release
});