10.开始场景-提示界面
10.1 拼面板
查看提示界面示例图
把canvas预制体拉一个出来,创建提示界面对象,面板中创建背景图,标题,确定按钮,提示信息文本。
10.2 功能制作
创建TipPanel脚本,继承BasePanel面板基类,挂载到TipPanel提示界面预制体上,注意脚本名要和界面名一样。定义提示文本和确定按钮变量。Init中给确定按钮添加隐藏提示界面的监听。提供给外部一个改变提示信息文本的方法,外部传入字符串赋值给提示信息文本。
public class TipPanel : BasePanel
{
// 提示信息文本
public Text txtInfo;
// 确定按钮
public Button btnSure;
public override void Init()
{
btnSure.onClick.AddListener(() =>
{
UIManager.Instance.HidePanel<TipPanel>(); // 点击确定按钮时隐藏提示面板
});
}
/// <summary>
/// 改变提示内容的方法
/// </summary>
/// <param name="str">新的提示内容</param>
public void ChangeInfo(string str)
{
txtInfo.text = str; // 将提示信息文本的内容设置为参数提供的新内容
}
}
在选角面板的解锁按钮监听事件中,购买成功失败都显示对应的提示面板,显示对应的文本
btnUnLock.onClick.AddListener(() =>
{
//点击解锁按钮的逻辑
PlayerData data = GameDataMgr.Instance.playerData;
//当有钱时
if(data.haveMoney >= nowRoleData.lockMoney)
{
//购买逻辑
//减去花费
data.haveMoney -= nowRoleData.lockMoney;
//更新界面显示
txtMoney.text = data.haveMoney.ToString();
//记录购买的id
data.buyHero.Add(nowRoleData.id);
//保存数据
GameDataMgr.Instance.SavePlayerData();
//更新解锁按钮
UpdateLockBtn();
//提示面板 显示购买成功
UIManager.Instance.ShowPanel<TipPanel>().ChangeInfo("购买成功");
}
else
{
//提示面板 显示 金钱不足
UIManager.Instance.ShowPanel<TipPanel>().ChangeInfo("金钱不足");
}
});
把提示界面预制体放到Resources文件夹做成预制体
10.3 代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TipPanel : BasePanel
{
public Text txtInfo; // 提示信息文本
public Button btnSure; // 确定按钮
public override void Init()
{
btnSure.onClick.AddListener(() =>
{
UIManager.Instance.HidePanel<TipPanel>(); // 点击确定按钮时隐藏提示面板
});
}
/// <summary>
/// 改变提示内容的方法
/// </summary>
/// <param name="str">新的提示内容</param>
public void ChangeInfo(string str)
{
txtInfo.text = str; // 将提示信息文本的内容设置为参数提供的新内容
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com