【UICamera】
UICamera是一个命名不太好的组件。实际上,它的名字某种原因只是为了保持向后兼容。UICamera脚本实际做的事是发送NGUI事件给所有被它所附加的摄像机所看见的对象。除此之外,它不对UI做任何事情了。实际上,如果你想要你的游戏中的对象能接收NGUI类似OnPress,OnClick等事件,那么你需要做的是附加UICamera脚本到你的main camera上。
You can have several UICamera scripts in the scene. Most games will have one on the camera that draws the widgets, and another on the camera that draws the game.
在Edit->Project Settings->Physics中可以设置Raycast Hit Trigers:
Raycasts Hit Triggers | If enabled, any Raycast that intersects with a Collider marked as a Trigger will return a hit. If disabled, these intersections will not return a hit |
要想UICamera有效,Raycasts Hit Triggers必须被勾选上。
Event Type:决定了脚本怎样排列它下面鼠标和触摸事件的顺序。如果设置为UI模式,那么它将一直基于挂件的depth--就和绘制顺序一样。改变选项为World模式,只有在你添加UICamera到你的MainCamera上面的时候才应该这么做。这样做将通过点击到的对象到摄像机的距离排序。
Event Mask:决定了哪个游戏对象的层能用于接收事件。大多数情况下,由于这个值和UnityEngine.Camera的CullingMask混合,你能让这个值为“Everything”,当然你也能在你想要的时候调整它。如果你改变了包含UI层级的游戏对象的Layer,请确认调整Event Mask,不然你会发现你的UI再也不能接受到事件。(译者言,简单的说,就是保持这个值和你UI对象的Layer名字一样)
Debug:选项能用于调试当前鼠标下面是什么。如果当你点击一些按钮的时候,你不知道当前和鼠标事件交互的是什么对象,只要打开这个选项,你就能在顶部看到它。
允许Multi-Touch选项控制是否支持多点触摸。如果关闭,多点触摸将被视为单点触摸。
Stick Tooltip选项用于调整tooltip的行为。如果关闭,tooltip将会在鼠标再次移动的时候立刻隐藏。如果打开,tooltip将保持打开,知道鼠标离开同一个对象。
Tooltip Delay控制鼠标悬停在某个对象上而且在OnTooltip通知发送到那个对象之前的事件间隔。这个值的单位是秒。
【UICamera Event】
参考:
1、file:///D:/Program%20Files%20(x86)/Unity/Editor/Data/Documentation/Documentation/Components/class-PhysicsManager.html
2、http://blog.csdn.net/kakashi8841/article/details/20548429
3、http://www.tasharen.com/forum/index.php?topic=6711
UICamera