29.胜利界面

  1. 29.胜利界面
    1. 29.1 知识点
      1. 胜利界面需求
      2. 拼接胜利面板
      3. 创建胜利面板脚本
      4. 触碰到通关点通关时,打开胜利面板
    2. 29.2 知识点代码

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

×

喜欢就点赞,疼爱就打赏