@latel88/gamepad

1.2.10 • Public • Published

Gamepad

install

npm install @latel88/gamepad
  • cjs
const { Gamepad, keycode } = require( "@latel88/gamepad" );
  • mjs
import { Gamepad, keycode } from "@latel88/gamepad";

exsample

const gamepad = new Gamepad( window,
{
	key: "body",//key event target element
	mouse: "body",//mouse event target element

	touchX: "#touch-x",//touch pad x target element
	touchY: "#touch-y",//touch pad y target element

	pointer_look: "body"//pointer look target element

},
{
	"forward": keycode.W,
	"back": keycode.S,
	"right": keycode.D,
	"left": keycode.A

	"fire": keycode.MOUSE_LEFT,
	"ads": keycode.MOUSE_RIGHT

},
{
	sensibilityX: 1,
	sensibilityY: 1,
	invertedX: false,
	invertedY: false,

	touch_max_x: 75

} );


setInterval( () =>
{
	gamepad.fire( "update" );
	
} );
setInterval( () =>
{
	gamepad.fire( "update" );

	const force = gamepad.getButton( "forward" );

	if (force > 0)
	{
		entity.position.y += 1;

	}

} );
setInterval( () =>
{
	gamepad.fire( "update" );
	
	entity.position.x += gamepad.movementX.x;
	entity.position.y += gamepad.movementX.y;

	entity.direction.x += gamepad.movementY.x;
	entity.direction.y += gamepad.movementY.y;

} );
const touch_button = document.createElement( "div" );

touch_button.addEventListener( "touchstart", ( event ) =>
{
	gamepad.pressButton( "fire" );

} );

touch_button.addEventListener( "touchend", ( event ) =>
{
	gamepad.releaseButton( "fire" );

} );
gamepad.setBind( "fire", keycode.GAMEPAD_RR );

gamepad.readyBind( "fire" ( keyCode, bind ) =>
{
	if (confim( `${ keyCode }` ))
	{
		bind( true );

	}
	else
	{
		bind( false );

	}

} );

Readme

Keywords

none

Package Sidebar

Install

npm i @latel88/gamepad

Weekly Downloads

0

Version

1.2.10

License

MIT

Unpacked Size

289 kB

Total Files

29

Last publish

Collaborators

  • latel88