ZEPETO Player
5 분
ZepetoPlayer 는 멀티플레이어 월드에서 ZEPETO 캐릭터의 유닛 인스턴스로 작용합니다. 이는 당신이 직접 제어하는 플레이어와 장면의 다른 플레이어를 나타냅니다.
이 가이드에서는 당신이 조작하는 로컬 플레이어에 대한 정보를 표시하기 위해 ZEPETO Player의 API를 활용하는 방법을 탐구할 것입니다.
Zepeto Player API
ZepetoPlayer API에 관심이 있다면, 문서를 참조하세요:
기본 로컬 플레이어 사용 예제
로컬 플레이어의 로딩 상태 확인하기
OnAddedLocalPlayer() 콜백을 사용하여 로컬 플레이어가 로드되었는지 확인하세요.
다음은 이를 설명하는 샘플 코드입니다:
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { SpawnInfo, ZepetoPlayers, LocalPlayer, ZepetoCharacter } from 'ZEPETO.Character.Controller';
import { WorldService } from 'ZEPETO.World';
export default class LocalPlayerLoader extends ZepetoScriptBehaviour {
private _localPlayer: LocalPlayer;
Awake() {
if(!this._localPlayer) {
console.log("Local Player has not finished loading.");
}
}
Start() {
ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, new SpawnInfo(), true);
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
this._localPlayer = ZepetoPlayers.instance.LocalPlayer;
console.log("Local Player has finished loading.");
});
}
}
- 스크립트 설명:
- 처음에, this._localPlayer는 선언되지 않았으며, 이는 null 값을 의미합니다. 로그인한 사용자 ID를 사용하여 로컬 플레이어를 생성합니다.
- ZepetoPlayers.instance.CreatePlayerWithUserId()를 사용합니다. 로컬 플레이어의 로딩이 완료되면, OnAddedLocalPlayer() 콜백이 this._localPlayer에 값을 할당합니다.
- 이 메서드는 로컬 플레이어를 로드하고 로딩 상태를 확인할 수 있게 해줍니다.

로컬 플레이어 정보 표시
아래는 로드된 로컬 플레이어의 zepeto ID, 사용자 ID 및 이름을 콘솔 로그에 출력하는 방법의 예입니다.
제공된 샘플 코드에서 주의할 점은 ZepetoPlayers.instance.CreatePlayerWithUserId()가 명시적으로 추가되지 않았다는 것입니다.
import { ZepetoScriptBehaviour } from 'ZEPETO.Script'
import {LocalPlayer, ZepetoPlayers} from "ZEPETO.Character.Controller";
export default class LocalPlayerInfo extends ZepetoScriptBehaviour {
private _localPlayer: LocalPlayer;
Start() {
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
this._localPlayer = ZepetoPlayers.instance.LocalPlayer;
console.log(`Is LocalPlayer : ${this._localPlayer.zepetoPlayer.isLocalPlayer}`);
console.log(`User ID : ${this._localPlayer.zepetoPlayer.userId}`);
console.log(`Name : ${this._localPlayer.zepetoPlayer.name}`);
});
}
}