このライブラリはMilkcocoa( https://mlkcca.com ) を利用しています。 またサンプルにはenchant.js( https://github.com/wise9/enchant.js )を利用しています。
http://milk-cocoa.github.io/multiplay-game-with-milkcocoa/examples/rpg/
npm install
gulp serve
ますMilkcocoaにつなぎ、プログラムの一通りの初期化が終わったらinitを呼びます。 例えばenchant.jsではgame.onloadの中でinit関数を呼びます。
var milkcocoaGame = new MultiPlayerGame("{your-app-id}.mlkcca.com");
milkcocoaGame.init();
マスターオブジェクトとレプリカオブジェクトという概念があります。 マスターオブジェクトは、このプログラムが動いているクライアントで作成されたオブジェクトです。 レプリカオブジェクトは別のクライアントで作成されたマスターの複製です。 基本的にパラメータの更新はマスターだけ行い、レプリカはデータの更新通知を受け取るだけです。
var masterObject = milkcocoaGame.createObject('master_unique_id', {
x : 100,
y : 200
});
masterObject.onUpdate(function(params) {
//player.x = params.x;
//player.y = params.y;
});
update関数でマスターオブジェクトを更新します。
masterObject.update({
x : 0,
y : 50
});
milkcocoaGame.onCreatedObject(function(replObj) {
//replObj.getParams()でparameを取得できます。
character.x = replObj.getParams().x;
character.y = replObj.getParams().y;
replObj.onUpdate(function(params) {
//別のクライアントにてこのレプリカが更新されると呼ばれます。
});
replObj.onDestroyHandler(function() {
//別のクライアントにてこのレプリカが削除されると。
});
});
getNumOfReplsはレプリカの数を返します。一つのクライアントが一つのマスターオブジェクトを作成した場合。この数字+1がプレイヤー数となります。
milkcocoaGame.getNumOfRepls()
MIT License
ライブラリはenchantjsを利用しています。 画像等はenchantのexamplesを利用しています。