[开发者心得] 【编辑器内置排行榜】使用介绍

[复制链接]
1022 |5
空伊伊 发表于 2023-12-15 19:26:39 | 显示全部楼层 |阅读模式
本帖最后由 空伊伊 于 2024-1-15 16:39 编辑

编辑器自带排行榜.png
排行榜是游戏开发中经常使用到的一个功能,目前编辑器已经实现内置,接下来为大家介绍详细的使用方法。



一、显示排行榜

显示排行榜只需要在客户端调用一行代码即可
LeaderboardModule.showPanel()

二、基础设置
定义字段(Field)枚举
排行榜可以有多个字段用来显示数据,为了方便确定字段的内容,推荐使用枚举来进行定义。如下:

//显示字段枚举
export enum FieldType {
    Name = 1,//玩家
    Kill = 2,//击杀
    Score = 3,//积分
}

设置排行榜样式(客户端执行)
排行榜的样式需要在客户端手动设置。
LeaderboardModule.setStyle("我的排行榜", true, 10, 5)

添加排行榜字段(客户端执行)
排行榜默认是没有字段的,所以需要在客户端进行添加
// 设置排行榜的字段
LeaderboardModule.addField(FieldType.Name, "玩家名")
LeaderboardModule.addField(FieldType.Kill, "击杀数")
LeaderboardModule.addField(FieldType.Score, "积分")

设置排行榜排序规则(客户端执行)
当排行榜需要根据多个字段来进行综合排序的时候,就需要设置排序规则。

// 设置排行榜的排序规则
LeaderboardModule.setSortFields(FieldType.Score, FieldType.Kill)

显示排名字段(客户端执行)
排名这个字段默认是不显示的,需要在客户端手动开启

// 显示排名字段
LeaderboardModule.showRankField("排名", null, "未上榜")

三、数据修改
排行榜的数据修改都需要,且只能在服务端执行。
向排行榜添加玩家(服务端执行)
LeaderboardModule.addPlayer(player)

从排行榜删除玩家(服务端执行)
LeaderboardModule.removePlayer(player)

修改对应玩家的排行榜数据(服务端执行)
// 在服务端随机设置玩家的两个属性
LeaderboardModule.setPlayerValue(playerID, FieldType.Kill, Math.floor(Math.random() * 100))
LeaderboardModule.setPlayerValue(playerID, FieldType.Score, Math.floor(Math.random() * 100))

示例Demo:
编辑器自带排行榜.rar (71.8 KB, 下载次数: 92)
回复

使用道具 举报

kk 发表于 2023-12-16 00:10:47 | 显示全部楼层
6
回复

使用道具 举报

天启 发表于 2024-10-21 22:07:43 | 显示全部楼层
请问如何修改UI层级,排行榜挡住其他UI了
回复

使用道具 举报

空伊伊楼主 发表于 2024-10-22 02:29:09 | 显示全部楼层
天启 发表于 2024-10-21 22:07
请问如何修改UI层级,排行榜挡住其他UI了


在UI脚本里添加这个函数,返回值代表需要设置的层级
20136ef69bafcf5fdcbb52681bd6d16d.png
回复

使用道具 举报

天启 发表于 2024-10-22 13:10:09 | 显示全部楼层
空伊伊 发表于 2024-10-22 02:29
在UI脚本里添加这个函数,返回值代表需要设置的层级

这个内置排行榜也没有脚本呀,在哪个UI脚本里设置呢,总不能随便一个UI脚本里都行吧
回复

使用道具 举报

半夏,蔷薇 发表于 2024-11-12 10:28:21 | 显示全部楼层
   // 当玩家退出游戏,将对应玩家的数据从排行榜上删除
            Player.onPlayerLeave.已弃用 ,改成Player.onPlayerRemove
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表