Inter-world movement API
2 분
- 검토를 통과하고 활성화된 월드 간에만 이동할 수 있습니다.
- 이동 대상 월드의 private room에는 들어갈 수 없습니다.
ZepetoWorldContent를 가져와야 월드 간 이동 API를 사용할 수 있습니다.
import { ZepetoWorldContent } from 'ZEPETO.World';함수 정의는 다음과 같습니다:
API | 설명 |
|---|---|
public static MoveToWorld($worldId: string, $onError: System.Action$2<number, string>):void; | - 월드 ID 텍스트가 매개변수로 설정된 후, 함수가 호출될 때 월드 간 이동이 실행됩니다. - 이동할 수 없는 월드인 경우 오류가 발생하며, 오류 발생 시 콜백을 통해 제어할 수 있습니다. |
아래는 특정 GameObject 트리거에 들어갈 때 다른 월드로 이동하는 코드 샘플입니다.
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { ZepetoWorldContent } from 'ZEPETO.World';
import { Collider,Vector3,Quaternion } from 'UnityEngine';
import { ZepetoCharacter, ZepetoPlayer, ZepetoPlayers } from 'ZEPETO.Character.Controller';
export default class MoveToWorld extends ZepetoScriptBehaviour {
private zepetoCharacter: ZepetoCharacter;
// 예: com.default.jumpworld
private worldId: string = "World id";
Start() {
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
this.zepetoCharacter = ZepetoPlayers.instance.LocalPlayer.zepetoPlayer.character;
});
}
OnTriggerEnter(collider: Collider) {
if ((this.zepetoCharacter == null) || (collider.gameObject != this.zepetoCharacter.gameObject)) {
return;
}
ZepetoWorldContent.MoveToWorld(this.worldId, (errCode, errMsg) => {
// 오류 콜백 처리 예시
// (구현 시 팝업 창 등 다양한 방법으로 구현해 보세요)
console.log(`${errCode} - ${errMsg}`);
});
}
}