通过委托与事件监听状态改变来更新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 property
	private 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

	// 体力和历练的计时器;一分钟体力加1
	private float energyTimer
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值