In the GameCrom engine, besides the built-in input API functions
(IsAnyPressed, IsAnyJustPressed, etc.),
you can also use the native browser events to detect keys,
mouse clicks, or touch interactions.
These events always work, even when the game is paused, because they come directly from the browser and do not depend on the engine's internal loop.
Triggered when a key is pressed down. Always works, even while paused.
document.addEventListener("keydown", e => {
console.log("Key pressed:", e.key);
});
Triggered when a key is released.
document.addEventListener("keyup", e => {
console.log("Key released:", e.key);
});
document.addEventListener("mousedown", e => {
console.log("Mouse button:", e.button);
});
document.addEventListener("mouseup", e => {
console.log("Mouse button released:", e.button);
});
document.addEventListener("mousemove", e => {
console.log("Mouse moved:", e.clientX, e.clientY);
});
document.addEventListener("touchstart", e => {
console.log("Touch start");
});
document.addEventListener("touchend", e => {
console.log("Touch end");
});
document.addEventListener("touchmove", e => {
console.log("Touch move");
});
This example shows how to use keydown together with Pause() and Resume().
document.addEventListener("keydown", e => {
console.log("KEY PRESSED:", e.key);
if (e.key == "Escape") {
if (paused == false) {
Pause();
Log("Pause");
} else {
Resume();
Log("Resume");
}
}
});
keydown for global keys or menus.All these events can be used from any game script.