主站
首页
案例中心
UI编辑 - 单局最高分排行榜
UI编辑 - 单局最高分排行榜
浩然 更新时间: 2022-01-24 07:27:42

UI编辑 - 单局最高分排行榜

 

前提

1. 了解UI编辑器

2. 精通触发器、变量、数组和循环触发器

 

需求

举办一次点击方块得分比赛,每个玩家都需要参加3轮较量,每轮较量结束后,根据玩家历史得分进行排名,允许出现同一玩家同时霸榜前三名。

 

解答

使用UI结合触发器。关键触发器,数组的使用,启动倒计时器,数值比较,获取最大值,设置文本内容。

 

步骤

1. 场景搭建

在场景中放置3个冰块(每轮比赛开始后,当玩家点击冰块,可以获得分数)

 

 

2. UI制作

左侧添加了排行榜(1、2、3名文本),顶部居中添加了分数(文本)。隐藏了系统血条和系统分数。

 

 

3. 触发器设置

全局变量设置

  • 当前轮数(数值、默认值0):游戏总共分3轮,每轮开始前自动加1
  • 临时排名(数值、默认值0):获取排名时用
  • 临时玩家分数(数值、默认值0):获取排名时用
  • 临时轮数(数值、默认值0):循环触发器用
  • 临时玩家轮数(数值、默认值0):获取排名时用
  • 比赛进行中(布尔值、默认值假):为真的,玩家点击冰块才能获取分数
  • 临时玩家(玩家、无默认值):获取排名用
  • 比赛计时器(计时器、无默认值):每轮比赛开始后,启动倒计时器

 

 

私有变量设置

  • 当前得分(数值、默认值0):当前回合玩家获取的分数
  • 得分数组(数值组、无默认值):每轮玩家获取的分数
  • 排名数组(数值组、无默认值):每轮玩家获取的名次

 

触发器分组设置

  • 游戏组:玩家进入游戏、游戏创建、开启倒计时、点击方块得分、保存玩家分数等
  • 重置组:重置排名、重置分数
  • 计算组:获取最大分数
  • 排行组:获取前3名并显示

 

触发器:进入游戏

任意玩家进入游戏时,对其排行榜界面,并执行初始玩家数据触发器

触发器清单

事件:玩家进入游戏

条件:无

动作:打开界面、运行触发器

 

触发器:游戏开始

游戏创建时触发,设置全局变量(当前轮数= 当前轮数 + 1),执行运行计时器触发器,检查条件为真。

触发器清单

事件:游戏创建时

条件:无

动作:设置数值、运行触发器

 

触发器:运行计时器

当前轮数小于等于3的场合,启动比赛计时器,倒计时5秒,重复计时为假;对所有玩家执行重置分数触发器;设置全局变量 比赛进行中 = 真;对所有玩家显示飘窗,内容为:第N轮比赛开始(N为当前轮数);对所有玩家显示比赛计时器窗口,标题为:第N轮比赛(N为当前轮数)

触发器清单

事件:无

条件:数值比对

动作:运行倒计时器、对玩家组执行触发器、运行触发器、设置布尔值、对玩家显示飘窗文字、显示计时器窗口

 

触发器:每轮结束

比赛计时器倒计时为0时,设置全局变量 比赛进行中 = 假;对所有玩家执行保存分数触发器;对所有玩家执行重置排名触发器;执行获取第1名触发器;执行获取第2名触发器;执行获取第3名触发器;设置全局变量 当前轮数 = 当前轮数 + 1;执行运行计时器触发器,检查条件为真;执行比赛结束触发器,检查条件为真;

触发器清单

事件:指定计时器变化

条件:数值对比

动作:设置布尔值、对玩家组执行触发器、设置数值、运行触发器

 

 

触发器:比赛结束

当前轮数大于3时,比赛结束。对所有玩家显示飘窗:比赛结束;对所有玩家显示比赛计时器窗口,标题为:比赛结束。

触发器清单

事件:无

条件:数值比对

动作:对玩家组显示飘窗文字、显示计时器窗口

 

触发器:加分

任意玩家点击方块,如果方块类型是冰块,且全局变量 比赛进行中 等于 真,则设置玩家私有变量 当前得分 = 当前得分 + 1;将当前得分同步显示到屏幕上。

触发器清单

事件:玩家点击方块

条件:方块类型判断、逻辑与

动作:设置数值、设置文本内容

 

触发器:初始玩家数据

玩家进入游戏后,需要将玩家的数据和界面显示进行初期处理。设置玩家的私有变量 得分数组的值分别是 0、0、0;设置玩家的私有变量 排名数组的值分别是 999、999、999;将当前玩家界面上的排行榜1,2,3名清空。

触发器清单

事件:无

条件:无

动作:设定任意组中指定编号的值、设置文本内容

 

 

触发器:保存分数

将玩家的私有变量当前得分保存到玩家的私有变量得分数组中;将排名999保存到玩家的私有变量排名数组中。

触发器清单

事件:无

条件:无

动作:设定任意组中指定编号的值

 

触发器:重置排名

当每轮比赛结束时触发,将玩家所有得分的排名设置为999。

触发器清单

事件:无

条件:无

动作:设置数值、循环运行触发器

 

触发器:重置分数

设置玩家的私有变量 当前得分 = 0;修改UI当前得分为0;

触发器清单

事件:无

条件:无

动作:设置数值、设置文本内容

 

触发器:重置排名执行

设置全局变量 临时轮数 = 临时轮数 + 1;设置玩家的私有变量 排名数组 的值为999;

触发器清单

事件:无

条件:无

动作:设置数值、设置任意组中指定编号的值

 

触发器:获取最大值

设置全局变量 临时轮数 = 0;从1到3,循环执行计算最大值触发器;

触发器清单

事件:无

条件:无

动作:设置数值、循环运行触发器

 

触发器:计算最大值

设置全局变量 临时轮数 = 临时轮数 + 1;运行最大值触发器,检查条件为真;

触发器清单

事件:无

条件:无

动作:设置数值、运行触发器

 

触发器:最大值

临时排名小于玩家排名数组中指定编号的值,且玩家得分数组指定编号的值大于等于临时玩家分数时,设置临时玩家为触发事件的玩家;设置临时玩家分数为玩家的得分数组指定编号的值;设置临时玩家轮数为当前轮数;

触发器清单

事件:无

条件:数值比对、数值比对

动作:设置玩家、设置数值

 

触发器:获取第1名

所有玩家的数量乘以当前轮数的值大于等于1的时候,设置临时玩家分数为0;设置临时玩家轮数为0;设置临时排名为1;对所有玩家执行获取最大值;设置临时玩家的排行数组的值为临时排行;对所有玩家执行显示第1名触发器;

触发器清单

事件:无

条件:数值比对

动作:设置数值、设置玩家、对玩家组执行触发器、设置任意组中指定编号的值

 

触发器:显示第1名

修改玩家UI中第一名的信息为 第一名 临时玩家的昵称 临时玩家得分;

触发器清单

事件:无

条件:无

动作:设置文本内容

 

触发器:获取第2名

设置方式同触发器 获取第1名,只需要修改临时排名的值即可

 

触发器:显示第1名

设置方式同触发器 显示第1名;

 

触发器:获取第3名

设置方式同触发器 获取第1名,只需要修改临时排名的值即可

 

触发器:显示第3名

设置方式同触发器 显示第1名;

 

4. 切换到玩法模式

第一轮比赛倒计时开启,得分是0,排行榜是空的

 

拼命的点击冰块,得了6分。

 

第1轮比赛结束,排行显示,当前得分清空,第2轮比赛开始。

 

三轮比赛结束后,排行榜信息显示完全,界面上显示比赛结束。

 

站点有内容要更新是否更新。
更新
忽略