---
title: ZEPETO Player
slug: world-sdk-guide-kr/zepeto-player
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

**ZepetoPlayer&#x20;**&#xB294; 멀티플레이어 월드에서 ZEPETO 캐릭터의 유닛 인스턴스로 작용합니다. 이는 당신이 직접 제어하는 플레이어와 장면의 다른 플레이어를 나타냅니다.

이 가이드에서는 당신이 조작하는 로컬 플레이어에 대한 정보를 표시하기 위해 ZEPETO Player의 API를 활용하는 방법을 탐구할 것입니다.



## Zepeto Player API

ZepetoPlayer API에 관심이 있다면, 문서를 참조하세요:

:::hint{type="info"}
- 다음 가이드를 참조하세요. \[[ZEPETO.Character.Controller API](https://developer.zepeto.me/docs/character-controller/)]
:::



## 기본 로컬 플레이어 사용 예제

### 로컬 플레이어의 로딩 상태 확인하기

OnAddedLocalPlayer() 콜백을 사용하여 로컬 플레이어가 로드되었는지 확인하세요.

다음은 이를 설명하는 샘플 코드입니다:

```typescript
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`에 값을 할당합니다.
  - 이 메서드는 로컬 플레이어를 로드하고 로딩 상태를 확인할 수 있게 해줍니다.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-nrhiF3s5qDSO8kpdStr64-20240904-102412.gif)



### 로컬 플레이어 정보 표시

아래는 로드된 로컬 플레이어의 zepeto ID, 사용자 ID 및 이름을 콘솔 로그에 출력하는 방법의 예입니다.

제공된 샘플 코드에서 주의할 점은 `ZepetoPlayers.instance.CreatePlayerWithUserId()`가 명시적으로 추가되지 않았다는 것입니다.

```typescript
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}`);
        });
    }

}
```

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-cPbrP_DKcO4IHjH9BmZvo-20240904-102412.png" size="56" width="388" height="118" position="center" showCaption="false"}

