Skip to content
传送区

传送区

物体结构

物体效果

代码示例

ts
@Component
export default class TriggerControl extends Script {
    //传送位置
    public position = new Vector(0, 0, 150)

    /** 当脚本被实例后,会在第一帧更新前调用此函数 */
    protected async onStart(): Promise<void> {
        // 服务端不做任何事
        if (SystemUtil.isServer()) {
            return
        }
        //以下为客户端逻辑
        //获取当前客户端玩家
        let player = await Player.asyncGetLocalPlayer()
        //获取当前脚本所挂载的触发器
        let trigger = this.gameObject as Trigger
        //进入触发区域
        trigger.onEnter.add((other: GameObject) => {
            if (other == player.character) {
                //2 秒后
                setTimeout(() => {
                    //将该角色传送到目标位置
                    player.character.worldTransform.position = this.position
                }, 2000);
            }
        })
    }
}
@Component
export default class TriggerControl extends Script {
    //传送位置
    public position = new Vector(0, 0, 150)

    /** 当脚本被实例后,会在第一帧更新前调用此函数 */
    protected async onStart(): Promise<void> {
        // 服务端不做任何事
        if (SystemUtil.isServer()) {
            return
        }
        //以下为客户端逻辑
        //获取当前客户端玩家
        let player = await Player.asyncGetLocalPlayer()
        //获取当前脚本所挂载的触发器
        let trigger = this.gameObject as Trigger
        //进入触发区域
        trigger.onEnter.add((other: GameObject) => {
            if (other == player.character) {
                //2 秒后
                setTimeout(() => {
                    //将该角色传送到目标位置
                    player.character.worldTransform.position = this.position
                }, 2000);
            }
        })
    }
}