Skip to content

Embeddable player for running MoroboxAI games on the web

License

Notifications You must be signed in to change notification settings

moroboxai/moroboxai-player-web

Repository files navigation

moroboxai-player-web

NPM version Node.js CI gitHub license Code Quality: Javascript Total Alerts

Embeddable player for running MoroboxAI games on the web.

Install

Using npm:

npm install moroboxai-player-web --save

Usage

<html>
    <div id="player"></div>

    <script
        type="text/javascript"
        src="https://cdn.jsdelivr.net/npm/moroboxai-player-web/lib/umd/moroboxai-player-web.min.js"
    ></script>
    <script type="text/javascript">
        // Initialize the player on our div
        const player = MoroboxAIPlayer.init({
            element: document.getElementById("player"),
            url: "https://raw.githubusercontent.com/moroboxai/moroboxai-games/master/games/pong/",
            splashart:
                "https://raw.githubusercontent.com/moroboxai/moroboxai-games/master/games/pong/assets/splashart.png",
            width: 256,
            height: 256
        });

        // Will be called when the game is ready
        player.onReady = () => console.log("game is loaded and ready");

        // Optionally start the game
        player.play();
    </script>
</html>

Arguments

Name Type Default Description
element Element DOM element to attach the player to
url string URL of the game
header object Game header
splashart string URL of the placeholder image displayed before the game is loaded
width number Width of the div element
height number Height of the div element
resizable boolean true If the game can resize the player
autoPlay boolean false Auto play the game after the player is initialized
speed number 1 Speed of the game
agents array Agents to load into controllers
onReady func noop Signature: function() => void
Function called when the game is loaded and ready

Pause

const player = MoroboxAIPlayer.init({...});

pauseButton.onclick = () => player.pause();
playButton.onclick = () => player.play();

Stop

const player = MoroboxAIPlayer.init({...});

stopButton.onclick = () => player.stop();

Reload

const player = MoroboxAIPlayer.init({...});

reloadButton.onclick = () => player.reload();

Stop & Load another game

const player = MoroboxAIPlayer.init({...});

button.onclick = () => player.play("http://url/to/game");

Resize

const player = MoroboxAIPlayer.init({...});
player.width = 128;
player.height = 128;
player.resize({width: 256, height: 256});

Change speed

const player = MoroboxAIPlayer.init({...});
player.speed = 2;

Cleanup

const player = MoroboxAIPlayer.init({...});
player.remove();

License

This content is released under the MIT License.