0.5.3 • Published 9 years ago

ml-game-loop v0.5.3

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

game-server-loop

Simple game loop that allow queue of sync instructions.

Installation

npm install ml-game-loop --save

Usage

'use strict';

var GameLoop = require('ml-game-loop');

var loop = new GameLoop(),
    i = 0;

// this will run every time loop is started
// every time will have counter instead writing new line
loop.add(function (time, diff) {
    // time is current timestamp with milliseconds
    // diff is a time that passed since last execution
    process.stdout.write("\r every time!" + String(i++));
});

// this will run every after at least 100ms pass but always after previous callback
loop.throttle(100, function (time, diff) {
    process.stdout.write("\n* EVERY 100 MS !!!!!! *\n");
});

// as above but after 1000ms and it is named "every-second"
loop.throttle(1000, function (time, diff) {
    process.stdout.write("\n*** ALWAYS AFTER 1 SECOND - 1000 MS !!!!!! ***\n");
}, 'every-second');

/*
 * start loop, remember that callback always run in same order so if all three callbacks are valid (and all are on first start)
 * you will see three sentences
 * - every time! X
 * - * EVERY 100 MS !!!!!! *
 * - *** ALWAYS AFTER 1 SECOND - 1000 MS !!!!!! ***
 * ALWAYS in same order
 */
loop.start();

setTimeout(function () {
    // this will pause the loop after 5 seconds
    loop.pause();
    // this will stop execution of "every-second" callback, use loop.enable('every-second') to resume it
    loop.disable('every-second');
}, 5000);

setTimeout(function () {
    // this will pause the loop after 7 seconds, 2 seconds after pause
    loop.resume();
}, 7000);

setTimeout(function () {
    // this will stop the program after 10 seconds of working
    loop.stop();
}, 10000);

Have fun!

0.5.3

9 years ago

0.5.2

9 years ago

0.5.1

9 years ago

0.5.0

9 years ago

0.1.0

9 years ago