UI编辑 - 单局最高分排行榜
前提
1. 了解UI编辑器
2. 精通触发器、变量、数组和循环触发器
需求
举办一次点击方块得分比赛,每个玩家都需要参加3轮较量,每轮较量结束后,根据玩家历史得分进行排名,允许出现同一玩家同时霸榜前三名。
解答
使用UI结合触发器。关键触发器,数组的使用,启动倒计时器,数值比较,获取最大值,设置文本内容。
步骤
1. 场景搭建
在场景中放置3个冰块(每轮比赛开始后,当玩家点击冰块,可以获得分数)
2. UI制作
左侧添加了排行榜(1、2、3名文本),顶部居中添加了分数(文本)。隐藏了系统血条和系统分数。
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轮比赛开始。
三轮比赛结束后,排行榜信息显示完全,界面上显示比赛结束。