0.0.7 • Published 9 years ago

uupaa.gamepad.js v0.0.7

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

GamePad.js Build Status

npm

Easy way to using GamePad API.

This module made of WebModule.

Documentation

Browser, NW.js and Electron

<script src="<module-dir>/lib/WebModule.js"></script>
<script src="<module-dir>/lib/GamePadDevice.js"></script>
<script src="<module-dir>/lib/GamePad.js"></script>
<script>
GamePads.VERBOSE = true;

var players = [{ ... }, { ... }];

var pad = new GamePad(function(connect(player) {
    console.log("connected. player: " + player);
});

function gameLoop() {
    if (pad.connected) {
        pad.input();

        if (pad[0]) {
            input(pad[0].values, pad[0].diffs);
        }
        if (pad[1]) {
            input(pad[1].values, pad[1].diffs);
        }
    }
    update();
    render();
    requestAnimationFrame(gameLoop);
}
gameLoop();


function input(values,  // @arg Uint8Array - current values
               diffs) { // @arg Uint8Array - diff values
    // --- Jump ---
    if (diffs[GAMEPAD_KEY_A]) {
        if (values[GAMEPAD_KEY_A]) {  // A BUTTON OFF -> ON
            startJump(...);
        } else {       // A BUTTON ON -> OFF
            endJump(...);
        }
    }

    // --- D-PAD ---
    if (values[GAMEPAD_KEY_L]) {
        moveLeft(...);
    } else if (values[GAMEPAD_KEY_R]) {
        moveRight(...);
    }
}

</script>