有请求同步其他玩家的接口吗

[复制链接]
1342 |4
啊啵呲嘚 发表于 2023-7-11 19:21:07 | 显示全部楼层 |阅读模式
在025更新后,如果几个玩家在一个单端的场景上玩,当A玩家离开这个场景后,A玩家的客户端就会把这个场景删掉。然后在A客户端的其他玩家如果不动就会往下掉,当这个玩家再次创建出这个场景并进入这个场景后,其他玩家没有动的话是不会同步位置的。所以有什么接口可以同步一下玩家的位置信息啥的
回复

使用道具 举报

啊啵呲嘚楼主 发表于 2023-7-12 11:23:33 | 显示全部楼层
本帖最后由 啊啵呲嘚 于 2023-7-12 11:28 编辑

自己加了一个手同步位置的脚本
@Core.Class
export default class SyncPlayerLoc extends Core.Script {
        public static Instance: SyncPlayerLoc;

        protected override onStart(): void {
                SyncPlayerLoc.Instance = this;
        }

  /**
   * 设置玩家位置
   * @param player 玩家
   * @param loc 位置
   * @returns
   */
        @Core.Function(Core.Client)
        private setPlayerLoc(player: Gameplay.Player, loc: Type.Vector) {
                console.log("setPlayerLoc", loc.add(Type.Vector.up.multiply(10)));
                if (!player) return;

                player.character.worldLocation = loc.add(Type.Vector.up.multiply(10));
        }

  /**
   * 同步玩家位置
   * @param player 发起同步的玩家
   * @param playerIds 需要同步的玩家id
   */
        @Core.Function(Core.Server)
        syncPlayerLoc(player: Gameplay.Player, playerIds: number[] = []) {
                console.log("getPlayerLoc", playerIds);

                let wLoc: Gameplay.Player[];
                if (!playerIds || playerIds.length == 0) {
                        wLoc = Gameplay.getAllPlayers();
                } else {
                        wLoc = Gameplay.getAllPlayers().filter((e) => {
                                const cha = e.character;
                                return !cha.isMoving || !cha.isJumping || playerIds.indexOf(e.getPlayerID()) != -1;
                        });
                }
                wLoc.forEach((e) => {
                        if (e.getPlayerID() == player.getPlayerID()) return;
                        this.setPlayerLoc(e, e.character.worldLocation);
                });
        }
}

回复

使用道具 举报

喵喵哭唧唧 发表于 2023-7-11 19:31:33 | 显示全部楼层
收到,我们进行复现一下看看
回复

使用道具 举报

女神她哥 发表于 2023-7-12 09:13:47 | 显示全部楼层
其他玩家再次移动应该是会自动同步过去的吧
回复

使用道具 举报

啊啵呲嘚楼主 发表于 2023-7-12 09:14:09 | 显示全部楼层
女神她哥 发表于 2023-7-12 09:13
其他玩家再次移动应该是会自动同步过去的吧

对的
回复

使用道具 举报

72小时热榜
热门版块
快速回复 返回顶部 返回列表