プレイヤーごとに異なる表示を行う
プレイヤーごとに異なる表示を行うには、ローカルエンティティを利用します。ローカルエンティティは、エンティティのコンストラクタ引数の local
プロパティに true
を与えることで生成できます。
凡例
javascript
const localRect = new g.FilledRect({
... // その他プロパティ
local: true // ローカルであることを指定
});
詳細
ローカルエンティティを使うと、プレイヤーごとに異なる表示を行えます。 詳細は 逆引きリファレンス » ローカルエンティティを使う を参照してください。
プレイヤーごとに異なる表示を行う状況としては、例えば次のようなものが考えられます。
- 対戦型のゲームで、アイテム切り替えの UI を自分にだけ表示する
- ニコ生ゲームで、ゲーム開始時に放送者にだけ難易度選択 UI を表示する
次のコード例は、プレイヤー画像をクリックした時にクリックしたプレイヤーのみの処理を行う例です。g.Sprite
がローカルエンティティなのでクリックしたプレイヤーのみ処理が実行されます。
javascript
scene.onLoad.add(function() {
const player = new g.Sprite({
scene:scene,
src: scene.asset.getImage("/image/player.png"),
touchable:true, // クリック・タッチ操作できるエンティティにする
local: true // ローカルであることを指定
});
player.onPointDown.add(function(ev) {
// 画像をクリックした時にクリックしたプレイヤーのみの処理を行う
...
});
});
特にニコ生ゲームで、放送者専用の UI や動作を作る場合は、併せて g.game.selfId
を利用する必要があります。 詳細は 逆引きリファレンス » (ニコ生ゲーム) 放送者の端末でのみ処理する を参照してください。