大家好,我是孙广东。 转载请注明出处:http://write.blog.csdn.net/postedit/38922399
更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/forum.php?mod=guide&view=my
完整的教程下载地址:http://www.unitymanual.com/thread-26665-1-1.html
5.4 Eventsystem& Binding
这两个东西其有用处不同也没有什么可比較的,可是也要区分一下比較好吧。
Binding
交互的组件包含例如以下:
当中的buttonButton的Binding例如以下:
当中的开关Toggle、滑块Slider、滚动栏Scrollbar的Binding例如以下:
对于上面的两个图片的设置事实上是非常easy的。
所谓Binding就是将当前组件的状态变化和其它对象上的组件内的属性或者publicfunction()的绑定。而function()我们能够理解为事件处理函数,它能够是系统组件内的方法,也能够是用户自己定义脚本中的方法。本组件的状态改变是由于用户的输入操作引起的。
举个样例:下图是一个滑块,我们希望我们拖动滑块的过程中,滑块的当前值可以显示在Label上。
设置例如以下:把Label对象拖到这个滑块组件上。
然后是选择后面的函数。 我们先来看看Label对象都有哪些组件吧!
然后我们在单击选择函数的button吧。显演示样例如以下的
上图就是我们单击了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组件(不可交互的)对象可以接收到鼠标的输入操作,然后响应。