Skip to content

排行榜

添加排行榜到你的游戏中,可以让玩家们竞争,增加他们的留存率,展示最优秀玩家的得分。

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位数长数字),则随机生成名称

参考

所有动作、条件和表达式都列在排行榜参考页面中。