UICamera

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

时间: 2024-11-09 02:56:32

UICamera的相关文章

UICamera(NGUI Event system)原理

看了UICamera的源码就显而易见了: UICamera « on: November 21, 2013, 12:21:48 AM » Overview UICamera is a somewhat poorly named component. In fact, its name is kept only for backwards compatibility purposes. What the UICamera script actually does is sends out NGUI

深挖 NGUI 基础 之UICamera (二)

一.UI Camera作用 UICamera需要挂载在摄像机上才能发挥作用 UICamera仅负责 发送NGUI 事件 到 脚本所附加的摄像机中看得到的对象,比如我自定义了NGUI层(在Inspector面板中Layer添加),并且把UI Root下所有UI元素的Layer都设置成自定义的NGUI层. 事件发送不仅取决于挂载摄像机渲染的层对象,还取决于UI Camera脚本中的Event Mask,EventMask决定了哪些游戏对象的层能用于接收事件(可以一个或者多个层). 你可以手动的去选择

NGUI之UICamera控制触摸,鼠标事件

http://blog.csdn.net/onerain88/article/details/18963539 . UICamera 功能介绍 主要包括UI事件的监听,分发,覆盖范围为此Camera渲染的所有GameObject. 事件源包括:鼠标,触摸,键盘,手柄. 事件包括:悬停,按下/抬起,选中/取消选中,点击,双击,拖拽,释放,文本输入,Tips显示,滚轮滑动,键盘输入. 2. UICamera 实现流程 (1)属性 Event Type:包括UI,World,用于区分UICamera处

NGUI与EasyTouch结合使用

用了EasyTouch插件一段时间了,小问题还是有一些,总体来说用起来还行.这篇文章我就来说说EasyTouch和NGUI的结合. 总体来说触摸屏幕也就三种情况. 1.触摸事件只响应NGUI部分,不响应3D部分. 2.触摸事件只响应3D部分,不响应NGUI部分. 3.触摸事件同时响应. 举个例子,在战斗场景我们希望通过手指滑动来控制摄像机的旋转.但是这时屏幕上可能还有一些UI的按钮,但是我们不希望用户点击UI按钮也影响到了摄像机的旋转.所以此时我们只希望触摸事件在3D部分响应. 1. 如下图所示

Unity中关于NGUI的知识点

UICamera用于处理NGUI中的手势识别(单击.双击.拖拽) **Sprite(精灵)的创建方式:create->Sprite 创建完精灵之后,指定图集(Atlas),然后为Sprite指定图片.Sprite是图集中的一张小图. 特别提醒:千万不要试图通过缩放控件来调整控件的大小,要尽量保证控件的缩放值为Vector.one.通过调整控件的Size值改变大小. **Label 文字标签,用于显示文字.创建方式Creat->Label 需指定NGUI  Font字体 参数说明: Modifi

Unity3d + NGUI 多分辨率适应

更多型号适合的移动终端 现在我们要介绍的<链战争>游戏改编方法,这种适应方法UI这是一个基本维度,背景是一个基本的尺寸.背景比UI没有实际影响某一部分的额外部分,这样就避免了适应iPhone5在这么小的屏幕微调. 第一套UIRoot的Scaling Style属性,假设是电脑如今FixedSize,假设要打包到移动端选择FixedSizeOnMobiles. 我这里是以960*640为UI基础尺寸所以这里填写640高. 以下编写脚本BaseAspect.cs using UnityEngine

简单的虚拟摇杆控制移动(NGUI)

一.用NGUI创建虚拟摇杆贴图 先创建一个sprite作为背景叫做JoyStick 并添加一个BoxCollider,再创建一个sprite child作为虚拟摇杆中间的按钮,叫做button 二.通过虚拟摇杆获得x,y偏移值 1 using UnityEngine; 2 using System.Collections; 3 4 public class JoyStick : MonoBehaviour 5 { 6 7 private bool isPress = false; 8 priva

My First RPG Game总结二

背包栏打开点击的时候也会触发主角移动,解决办法 if (Input.GetMouseButtonDown(0)&&UICamera.hoveredObject==null) 鼠标点击NPC触发事件: 给npc添加box collider,在脚本中调用 private void OnMouseOver()当有鼠标指针落到npc上面就自动触发该函数 要想弹出任务框,还得将任务框的图片拖动到脚本中 public TweenPosition questTween; private void OnM

【转】简单的虚拟摇杆控制移动(NGUI)

http://www.cnblogs.com/zhangbaochong/p/4928688.html 一.用NGUI创建虚拟摇杆贴图 先创建一个sprite作为背景叫做JoyStick 并添加一个BoxCollider,再创建一个sprite child作为虚拟摇杆中间的按钮,叫做button 二.通过虚拟摇杆获得x,y偏移值 1 using UnityEngine; 2 using System.Collections; 3 4 public class JoyStick : MonoBeh