通过委托与事件监听状态改变来更新UI
该博文涵盖的知识点
1. C# 委托 2. 如何利用委托监听事件以此更新显示所要完成目标
我们刚开始做好的部分UI界面如下图所示:
观察左边的红色方框,我们先做了实例的姓名,头像,slider,和Label等,在运行游戏时候需要更新相应的属性。
在下面的脚本中,我们分别更新:左边方框中的nameLabel(黄晓明),energyLabel(50/100),toughenLabel(32/50)以及levelLabel(89);和右边的两个Label(12345678和12345678)。如何更新呢?我们借助委托注册事件来监听属性的改变,下面不再做解释,脚本中注释说明了一切!!!!
脚本、Unity相关设置
这里只使用三个脚本来学习如何使用委托来注册事件,以此监听属性的变化。如上图所示,PlayerBar脚本绑定在player-bar上,PlayerInfo脚本绑定在GameObject(空的游戏物体,作为控制)上,TopBar脚本绑定在top-bar上,分别在这些脚本中获取Unity Hierarchy中的相关属性,然后进行更新。下面分别是三个脚本:PlayerInfo,PlayerBar以及TopBar
using UnityEngine;
using System.Collections;public enum InfoType{Name,HeadPortrait,Level,Power,Exp,Diamond,Coin,Energy,Toughen,All
}public class PlayerInfo : MonoBehaviour {// 创建该类 为单例模式、public static PlayerInfo _instance;#region propertyprivate string _name;private string _headPortrait;private int _level = 1;private int _power = 1;private int _exp = 0;private int _diamond;private int _coin;private int _energy;private int _toughen;#endregion// 体力和历练的计时器;一分钟体力加1private float energyTimer
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
