跨世界移动API
2 分
- 您只能在已通过审核并已激活的世界之间移动。
- 您将无法进入目标世界的秘密房间。
必须导入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}`);
});
}
}