API การเคลื่อนย้ายระหว่างโลก
2 นาที
- คุณสามารถย้ายระหว่างโลกที่ผ่านการตรวจสอบและเปิดใช้งานแล้วเท่านั้น
- คุณจะไม่เข้าห้องลับของโลกเป้าหมาย
ZepetoWorldContent ต้องถูกนำเข้าเพื่อใช้ API การเคลื่อนที่ระหว่างโลก
import { ZepetoWorldContent } from 'ZEPETO.World';การกำหนดฟังก์ชันมีดังนี้:
API | คำอธิบาย |
|---|---|
public static MoveToWorld($worldId: string, $onError: System.Action$2<number, string>):void; | - หลังจากที่ตั้งค่า World ID เป็นพารามิเตอร์แล้ว การเคลื่อนที่ระหว่างโลกจะถูกดำเนินการเมื่อฟังก์ชันถูกเรียก - หากเป็นโลกที่ไม่สามารถย้ายไปได้ จะเกิดข้อผิดพลาดและสามารถควบคุมได้ผ่าน callback ในกรณีที่เกิดข้อผิดพลาด |
ด้านล่างนี้คือตัวอย่างโค้ดที่ย้ายคุณไปยังโลกอื่นเมื่อคุณเข้าสู่ตัวกระตุ้น 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;
// Ex: 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) => {
// ตัวอย่างการประมวลผล callback ข้อผิดพลาด
// (เมื่อทำการใช้งาน, พยายามทำให้หลากหลาย เช่น หน้าต่างป๊อปอัพ)
console.log(`${errCode} - ${errMsg}`);
});
}
}