5.4 Eventsystem& Binding 这两个东西其实用处不同也没有什么可比较的,但是也要区分一下比较好吧。 Binding 交互的组件包括如下: 其中的按钮Button的Binding如下: 其中的开关Toggle、滑块Slider、滚动条Scrollbar的Binding如下: 对于上面的两个图片的设置其实是很简单的。 所谓Binding就是将当前组件的状态变化和其他对象上的组件内的属性或者public[url=]function()[/url]的绑定。而function()我们可以理解为事件处理函数,它可以是系统组件内的方法,也可以是用户自定义脚本中的方法。本组件的状态改变是因为用户的输入操作引起的。 举个例子:下图是一个滑块,我们希望我们拖动滑块的过程中,滑块的当前值能够显示在Label上。 设置如下:把Label对象拖到这个滑块组件上。 然后是选择后面的函数。 我们先来看看Label对象都有哪些组件吧! 然后我们在单击选择函数的按钮吧。显示如下的 上图就是我们单击了1处,弹出了2的内容,内容很明显吧,GameObject是每个对象必有的这里就可以代表Label本身,那么RectTransform、ShowSliderValue(自定义的脚本)、CanvasRenderer、Text就是Label对象上的四个组件!这五个就是对应五个类或者脚本。 然后每个2中的项又包含不同的3. 3的内容我们可以查看:unity编辑器->Window->ScriptingReference中的如下: 这些UI类中自然有3的定义了。 EventSystem 前面也介绍了,这里不再多叙述。不管是交互的还是显示的组件对象,都可以接收到用户的输入操作,通过事件系统来完成。 比如官方的Demo中的Drag And Drop场景中,两个脚本文件DragMe.cs和DropMe.cs文件。 主要是希望Image组件(不可交互的)对象能够接收到鼠标的输入操作,然后响应。
|