npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pixi-keyboard

v1.0.0

Published

pixi-keyboard is a plugin for Pixi.js to manage the keyboard events easily.

Downloads

3,112

Readme

pixi-keyboard

pixi-keyboard is a plugin for Pixi.js to manage the keyboard events easily.

Installation

npm install pixi-keyboard

Usage

import * as PIXI from 'pixi.js';
import 'pixi-keyboard'; // side effect import

// animationFrame...
// Update the keyboards events at the end of your request animation frame or your set interval.
PIXI.keyboardManager.update(delta);
// ...endsOfAnimationFrame

##How it works This plugin add a new namespace named keyboard with 3 new classes (KeyboardManager, Key and HotKey) to the PIXI namespace, and create an instance for KeyboardManager in PIXI.keyboardManager, but you don't need worry about that, all you need is add PIXI.keyboardManager.update() in the end of your requestAnimationFrame or AnimationLoop.

Events

KeyboardManager extends from PIXI.utils.EventEmitter, and emit three events: pressed, down and released. All these events has as param the keyCode. More info: Node.js Events

PIXI.keyboardManager.on('down', function(key){
  //If a key is down
  console.log('Key down:' + key);
});

PIXI.keyboardManager.on('pressed', function(key){
  //If a key was pressed
  console.log('Key pressed:' + key);
});

PIXI.keyboardManager.on('released', function(key){
  //If a key was released
  console.log('Key released:' + key);
});

Check the state for one key

if(PIXI.keyboardManager.isPressed(PIXI.Key.CTRL)){
  console.log('Control key is pressed');
}

if(PIXI.keyboardManager.isDown(PIXI.Key.CTRL)){
  console.log('Control key is down');
}

if(PIXI.keyboardManager.isReleased(PIXI.Key.CTRL)){
  console.log('Control key is released');
}

Using HotKeys

var shoot = PIXI.keyboardManager.getHotKey(PIXI.Key.SPACE);
var reload = PIXI.keyboardManager.getHotKey(PIXI.Key.R);

function animate(){
  window.requestAnimationFrame(animate);

  if(shoot.isPressed){
    if(shoot.ctrl){
      console.log('Nuke bomb!');
    }else{
      console.log('Normal shot');
    }
  }

  if(reload.isReleased){
    console.log('Reload my gun');
  }

  PIXI.keyboardManager.update();
}
animate();

API

KeyboardManager

constructor()

The constructor

.isEnabled

State of the keyboard manager, do not change, use always .enable() and .disable()

.enable()

Listen keyboard events

.disable()

Do not listen keyboard events

.setPreventDefault(key [, value])

Avoid the default behavior when a key is touched, useful for arrows, to prevent the page's scroll or back. Value it's a boolean (default=true)

.isDown( key )

Return if the key is down

.downTime( key )

Returns time down in seconds

.isPressed( key )

Return if the key was pressed

.isReleased( key )

Return if the key was released

.update()

Update method, add to your RAF or AnimationLoop

.getHotKey( key )

Return a HotKey

.removeHotKey( key )

Remove a hotKey

HotKey

constructor( key, manager )

The constructor, whenever you can use PIXI.keyboard.getHotKey

.key

Key code for this HotKey

.manager

KeyboardManager instance

.isDown

Return if the key is down

.isPressed

Return if the key was pressed

.isReleased

Return if the key was released

.ctrl

Return if the control key is down

.shift

Return if the shift key is down

.alt

Return if the alt key is down

.remove()

Remove this HotKey from the KeyboardManager

##KEY names All keyCode has an name as alias, you can see it here.