Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?)
个人学习经验,仅供参考,欢迎各位码友批评指正。
做项目敲代码时,一直不是很理解监听函数是个什么玩意。
按我目前的理解,说白了就是监测到触发了一个条件,就执行后续操作。
比如说,你在图书馆上自习,假巴意思学习其实是在暗中观察有没有好看异性。
发现好看异性——触发了你的下一个动作——加微信。
但加微信是个操作,你得知道加谁的微信,这个时候传入的参数就是你看上的这位异性。
然后我们看看Unity的故事:
物体名称. GetComponent<类型>.onXXXX. AddListener(需要调用的函数);
例如:
btnLogin.GetComponent<Button>(). onclick.AddListener(Value_button);
public void Value_button(bool obj)
{
Debug.Log("正在登录中……");
}
点击btnLogin这个按钮(你发现了一个好看的异性),就会调用Value_Button这个函数(执行加微信的动作),输出一句“正在登录中……”(正在加微信)
再看看另外一个
封装之后的监听函数,InputField的值改变,匹配登录信息。
BindInputField(ip,OnEditIP);
ip是文本输入框,OnEditIP是绑定的函数,相当于是文本输入框发生了操作之后,就调用OnEditIP。
这个BindInputField的内部是怎么写呢,
protected void BindInputField(InputField inf,Unity engine.Events.UnityAction<string> callback)//第一个参数传入一个文本输入框,第二个参数就是要调用的函数,参数是一个字符串
{
inf.on EndEdit AddListener(callback);
}
public void OnEditIP(string IpText)//这个IpText就是传入的输入文本框里面的文本,也就是你相中的异性的信息
{
if(Iptext==UserIp)//UserIp是一个全局变量,设定好的用户的ip,比如1234
{
Debug.Log("匹配成功!");
}
}
不是所有长的是OnXXXX后面都可以加上AddListener的,如果绑定的是按钮或者多选框,参数就是按钮是否点击,如果是文本输入框,参数就是输入框里面的文字Text,这个参数的意义好像一般都是固定的,用熟悉了记住就好。