@jahlgren/simple-canvas-input
TypeScript icon, indicating that this package has built-in type declarations

0.1.4 • Public • Published

Simple Canvas Input

Simple Canvas Input is a simple input system for HTML-canvas animations and games.

Install

npm install @jahlgren/simple-canvas-input

Usage

// First, make sure to import the input system:
import Input, { Keys, MouseButtons } from '@jahlgren/simple-canvas-input';

// Create example canvas and context:
const canvas = document.createElement('canvas');
canvas.width = 800;
canvas.height = 600;
const context = canvas.getContext('2d');
document.body.append(canvas);

// Initialize the input system, outside the game loop:
const input = new Input(canvas);

// Game loop
requestAnimationFrame(gameLoop);
function gameLoop(elapsed) {
  requestAnimationFrame(gameLoop);

  // Always make sure to update the input before using it, inside the game loop:
  input.update();

  // Now we can use the public methods in the input system to check for keyboard and mouse events:
  if(input.getMouseButton(MouseButtons.Left)) {
    context.fillRect(input.mousePosition.x - 4, input.mousePosition.y - 4, 8, 8);
  }
}

API

For key and mouseButton arguments you can use the enums Keys and MouseButtons, just remember to import them aswell.

props type description
mousePosition {x: number, y: number} Mouse coordinates relative to the canvas
getKey (key: string) => boolean Returns true if the given key is held down
getKeyDown (key: string) => boolean Returns true if the given key was pressed this frame
getKeyUp (key: string) => boolean Returns true if the given key was released this frame
getMouseButton (mouseButton: string) => boolean Returns true if the given mouse button is held down
getMouseButtonDown (mouseButton: string) => boolean Returns true if the given mouse button was pressed this frame
getMouseButtonUp (mouseButton: string) => boolean Returns true if the given mouse button was released this frame
setCanvasScale (scale: number) => boolean Sets the scale of the canvas to be used for mouse coordinates
getCanvasScale (key: string) => boolean Gets the value of the given canvas scale

Package Sidebar

Install

npm i @jahlgren/simple-canvas-input

Weekly Downloads

1

Version

0.1.4

License

MIT

Unpacked Size

22 kB

Total Files

7

Last publish

Collaborators

  • jahlgren