29.胜利界面
29.1 知识点
胜利界面需求
明确胜利界面需要包含的内容,例如玩家的输入框、确认按钮等。
拼接胜利面板
在游戏界面中创建一个胜利面板,包括玩家的输入框和确认按钮等元素。
创建胜利面板脚本
// 胜利控件
public class WinPanel : BasePanel<WinPanel>
{
// 关联控件
public CustomGUIInput inputInfo;
public CustomGUIButton btnSure;
void Start()
{
btnSure.clickEvent += () =>
{
// 取消游戏暂停
Time.timeScale = 1;
// 将数据记录到排行榜中,并且回到主场景
GameDataMgr.Instance.AddRankInfo(inputInfo.content.text,
GamePanel.Instance.nowScore,
GamePanel.Instance.nowTime);
// 返回开始界面
SceneManager.LoadScene("BeginScene");
};
// 隐藏自己
HideMe();
}
}
这个脚本用于控制胜利界面的逻辑,当确认按钮被点击时,取消游戏暂停,将玩家的输入数据记录到排行榜中,并返回到开始界面。
触碰到通关点通关时,打开胜利面板
在通关点脚本触发事件,打开胜利界面,并将游戏时间流速设置为0。
if(other.CompareTag("Player"))
{
Time.timeScale = 0;
// 通关逻辑
// 打开胜利界面
WinPanel.Instance.ShowMe();
}
这样,当玩家通过通关点时,游戏将暂停,并打开胜利界面供玩家操作。
29.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
//胜利控件
public class WinPanel : BasePanel<WinPanel>
{
//关联 控件
public CustomGUIInput inputInfo;
public CustomGUIButton btnSure;
void Start()
{
btnSure.clickEvent += () =>
{
//取消游戏暂停
Time.timeScale = 1;
//把数据记录到排行榜中 并且 回到主场景中
GameDataMgr.Instance.AddRankInfo(inputInfo.content.text,
GamePanel.Instance.nowScore,
GamePanel.Instance.nowTime);
//接着 就返回我们的 开始界面即可
SceneManager.LoadScene("BeginScene");
};
//隐藏自己
HideMe();
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com