排行榜
添加排行榜到你的游戏中,可以让玩家们竞争,增加他们的留存率,展示最优秀玩家的得分。
GDevelop 提供了一种内置解决方案,可以创建、管理和使用游戏中的排行榜。这些排行榜可以为任何游戏创建,速度快、高效,并且可以从小型游戏扩展到拥有数百万玩家的游戏,因为它们是基于我们灵活、弹性的基础设施。
注意
你可以为匿名玩家(使用昵称)或连接的玩家提交分数。我们建议为连接的玩家发送分数,这样他们以后可以受益于新功能(如成就)。
管理排行榜
在游戏仪表板中管理排行榜。
你也可以在与排行榜相关的动作和条件中访问此管理界面。
发送新的分数到排行榜
使用动作 “保存连接的玩家分数”(或如果玩家没有连接,则使用 “保存玩家分数”)来提交玩家的分数:
如果你还没有创建排行榜,请在排行榜管理界面中创建一个。 完成后,你可以选择要发送分数的排行榜,或者使用表达式定义排行榜的唯一ID(例如,如果它存储在场景变量中)。 最后,请设置要发送的分数。有一个数字字段可用于此:你可能希望使用 Variable
表达式来读取内存中变量的值。
检查分数是否正确保存
你有三个条件可以用来监视保存的运行情况。
对于这些条件中的每一个,你可以指定排行榜,但这是可选的。如果你尝试同时在多个排行榜中保存玩家分数,则这可能会很有用。
显示排行榜
使用动作 “显示排行榜” 来加载并显示在屏幕上。它将显示在游戏的顶部,并具有一个关闭按钮,以便返回游戏。
在 加载 时,让玩家知道排行榜很快会显示,你可以在以下两个选项之间进行选择:
显示 内置加载器(使用动作中提供的选项) 使用条件“排行榜显示正在加载”来触发操作(例如显示一个文本“加载中”) 如果在显示过程中出现错误,它将自动关闭。如果你想围绕可能的错误添加逻辑,则还可以使用两个条件“排行榜显示发生错误”和“排行榜已加载”。
高级:显示排行榜时暂停场景
我们建议你在打开排行榜后将玩家返回到菜单场景或非游戏场景。 在某些游戏中,你可能希望在显示排行榜时暂停场景。为此,你可以使用一个中间场景:
假设你有一个名为“Level 1”的场景 创建一个新场景“LeaderboardBackground” 此场景在显示排行榜时会在后台运行 在“Level 1”场景的事件表中添加这个事件:
在“LeaderboardBackground”场景的事件表中添加此事件以返回到“Level 1”场景:
高级:为匿名玩家设置玩家名称
为了让玩家输入他们的名称,你可以使用Text Input对象,然后使用结果设置要发送到排行榜的条目的玩家名称。 在大多数情况下,只需要求玩家登录到你的游戏会更简单。他们的用户名将由 GDevelop 直接处理。
玩家的名称必须遵循一些约束(30个字符长,允许的字符是拉丁字母或数字以及字符“-”、“_”和“|”)。
为了帮助你遵守这些约束,该动作将应用表达式 Leaderboards::FormatPlayerName
到提供的玩家名称。以下是此表达式如何转换玩家名称的几个示例:
原始玩家名称
格式化后
原因
"Dr Neo Cortex-24|7"
"Dr_Neo_Cortex-24|7"
空格用 _
替换
"Senna$!"
"Senna"
删除特殊字符
"Brûlé"
"Brule"
删除变音标点
"aPlayerNameTh4tIsT00LongToBeSaved"
"aPlayerNameTh4tIsT00LongToBeSa"
如果太长,则截断名称
""(空)
"Player89456"
如果输入为空(5位数长数字),则随机生成名称
参考
所有动作、条件和表达式都列在排行榜参考页面中。