user-input-mapping
Create mappings for user inputs.
Usage
Quick example.
var Mapping = var userInput = // Create an input listener.var input = // Create a mapping to translate the inputs.var mapping = input keyboard: left: "A" { return === 1 } mappingvalue'right'; // Equals 0 or 1 depending on the state of key A.mappingvalue'right' 1; // Set the value of right to 1.mappingclear; // Clear the values.mappingvalueclear // Clear the values, useful if you export .value()
See below for test cases.
;
source)
Example (var util = var userInput = var Mapping = var Player = moduleexports = PlayerHuman /** * @class * @extends Player */ { var that = this options = options || {} optionsinput = optionsinput || Player if optionsship thisship = optionsship thisships var mapping = keyboard: left: "A" right: "D" forward: "W" reverse: "S" fire: "<space>" mouse: { return Math } gamepad: { return gamepadaxes0 < -25 ? -gamepadaxes0 : 0 } { return gamepadaxes0 > 25 ? gamepadaxes0 : 0 } { return gamepadaxes1 < -25 ? -gamepadaxes1 : 0 } { return gamepadaxes1 > 25 ? gamepadaxes1 : 0 } { return Math } ; thisinput = optionsinput thismapping = thisinput mapping}util PlayerHumanprototype { Playerprototypeupdate thismapping thisshiporders"left" = thismappingvalue"left" thisshiporders"right" = thismappingvalue"right" thisshiporders"forward" = thismappingvalue"forward" thisshiporders"reverse" = thismappingvalue"reverse" thisshiporders"rotation" = thismappingvalue"rotation" thisshiporders"fire" = thismappingvalue"fire"}
Test
Mocha: npm test