ngui 的binding搜索结果 少之甚少 。即便去作者的youtube也收获不大 。
开发工作者更关心的是 数据的绑定,而不是一个显示控件简单属性的绑定。
说白了就是告诉用户 怎么绑定model吧 。
废话少说
原理依旧是使用组件 propertyBinding
1 addComponent-propertyBinding
2 在propertyBinding 面板设置
source:2-1源对象
2-2设置源对象的哪个属性
target:2-3需要根据源来更新的对象
2-4 绑定的属性
direction:设置绑定方向
3 制作源对象 需要挂一个Model.cs类
using UnityEngine; using System.Collections; /// <summary> /// 绑定测试 /// Naiking Q258529531 /// </summary> public class UserModel : MonoBehaviour { // Use this for initialization void Start () { vo.hp = 100; vo.name = "naiking"; } public string name { get { return vo.name; } set { vo.name = value; } } public int hp { get { return vo.hp; } set { vo.hp = value; } } private VO vo=new VO(); // Update is called once per frame void Update () { } }
4 把model类 挂到一个空的gameObject上
5 新建一个Label 然后添加propertybinding
源:gameobject
UserModel.hp
target:把lable拖进来
text
然后弄2个按钮 一个是改变model的hp 一个是改变model的name
using System.Security.Permissions; using UnityEngine; using System.Collections; public class sTet : MonoBehaviour { // Use this for initialization public UIButton btn; public UserModel model; void Start () { btn.GetComponent<UIEventListener>().onClick = changM; } private void changM(GameObject go) { model.hp += 3; Debug.Log(model.hp.ToString()); } // Update is called once per frame void Update () { } }