あなたの世界を作りなさい
プレイヤーとキャラクター:基本
ZEPETOプレーヤー
5min
その ZepetoPlayer は、マルチプレイヤーの世界におけるZEPETOキャラクターのユニットインスタンスとして機能します。これは、あなたが直接操作するプレイヤーと、シーン内の他のプレイヤーの両方を表します。
このガイドでは、操作しているローカルプレイヤーに関する情報を表示するために、ZEPETO PlayerのAPIを利用する方法を探ります。
ZepetoPlayer APIに興味がある場合は、ドキュメントを参照してください:
OnAddedLocalPlayer()コールバックを利用して、ローカルプレイヤーが読み込まれたかどうかを確認します。
以下は、これを示すサンプルコードです:
TypeScript
1import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
2import { SpawnInfo, ZepetoPlayers, LocalPlayer, ZepetoCharacter } from 'ZEPETO.Character.Controller';
3import { WorldService } from 'ZEPETO.World';
4
5export default class LocalPlayerLoader extends ZepetoScriptBehaviour {
6
7 private _localPlayer: LocalPlayer;
8
9 Awake() {
10 if(!this._localPlayer) {
11 console.log("ローカルプレイヤーの読み込みが完了していません。");
12 }
13 }
14
15 Start() {
16 ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, new SpawnInfo(), true);
17 ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
18 this._localPlayer = ZepetoPlayers.instance.LocalPlayer;
19 console.log("ローカルプレイヤーの読み込みが完了しました。");
20 });
21 }
22}
- スクリプトの説明:
- 最初は、this._localPlayerは未宣言であり、null値を持っています。ログインユーザーIDを使用してローカルプレイヤーを作成します。
- ZepetoPlayers.instance.CreatePlayerWithUserId()。ローカルプレイヤーの読み込みが完了すると、OnAddedLocalPlayer()コールバックが値をthis._localPlayerに割り当てます。
- このメソッドを使用すると、ローカルプレイヤーを読み込み、その読み込み状況を確認できます。
以下は、読み込まれたローカルプレイヤーのzepeto ID、ユーザーID、および名前をコンソールログに印刷する方法の例です。
提供されたサンプルコードでは、ZepetoPlayers.instance.CreatePlayerWithUserId()は明示的に追加されていません。
TypeScript
1import { ZepetoScriptBehaviour } from 'ZEPETO.Script'
2import {LocalPlayer, ZepetoPlayers} from "ZEPETO.Character.Controller";
3
4export default class LocalPlayerInfo extends ZepetoScriptBehaviour {
5
6 private _localPlayer: LocalPlayer;
7
8 Start() {
9 ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
10 this._localPlayer = ZepetoPlayers.instance.LocalPlayer;
11 console.log(`ローカルプレイヤーですか : ${this._localPlayer.zepetoPlayer.isLocalPlayer}`);
12 console.log(`ユーザーID : ${this._localPlayer.zepetoPlayer.userId}`);
13 console.log(`名前 : ${this._localPlayer.zepetoPlayer.name}`);
14 });
15 }
16
17}