Hierarchy视图里的Transform和Camera组件

Hierarchy视图里的Transform和Camera组件

在Hierarchy视图里,选中Camera,然后在Inspector视图里查看其各组件,如图1-8所示。对于Transform和Camera组件,对于使用过Unity的读者来说再熟悉不过本文选自NGUI从入门到实战教程。

但是其上名为UICamera(Script)的脚本组件,才是NGUI创建的UI控件所特有的。提示:UICamera(Script)脚本组件通常会被赋予特定的摄像机对象,而这些摄像机的特殊之处在于它需要与UI控件发生交互。即接收来自于UI控件的各种消息事件,例如,游戏界面上的特定按钮被点击的事件本文选自NGUI从入门到实战教程。

图1-8  Camera里的各组件

UICamera(Script)脚本组件包含了大量的属性:

q  Event Type:指定这个摄像机将会发送的事件类型;

提示:此属性包含了两个参数:World和UI。前者表示事件来自于与3D世界中游戏对象的交互;后者表示事件来自于与2D控件的交互;

q  Event Mask:指定可以接收到事件消息的图层;

q  Allow Multi Touch:指定是否允许多点触控;

q  Sticky Press:指定当手指在一个按钮处按下,然后手指滑动到按钮外部的时候,按钮是否会弹起,而其它对象则是否会接收到来自于这个手指的触发事件;

提示:复选Sticky Press属性的时候,按钮会持续处于被按下的状态,即使此时手指已经滑动到了按钮外,而其它控件也不会接收到来自于手指的触发事件;

q  Sticky Tooltip:指定UI控件上作为控件说明的便笺信息,将在怎样的事件被触发以后显示;

提示:Sticky Tooltip属性被复选的时候,便笺信息在鼠标移动到UI控件外部的时候显示;取消复选的时候,鼠标移动到UI控件上的时候显示便笺信息,移出后马上消失。

q  Tooltip Delay:用于设置便笺信息持续显示的时间,单位是秒;

q  Raycast Range:Raycast实际上可以被看作是一条不可见的射线,它以鼠标的位置或者屏幕上被触摸的位置为起点,以当前摄像机的朝向为方向发射一条射线,此射线就被用于检测碰撞以及其它事件,有些开发者或许希望可以指定这个射线能够检测的范围,就可以通过设置这个属性来实现。

提示:Raycast Range默认的属性值是-1,表示没有范围限制;

q  Event Sources:此属性用于指定摄像机所监听事件的来源;

提示:一共有4个可选项,Mouse表示监听鼠标事件,可以来自于鼠标左键、右键、中键和滚轮;Touch表示监听移动设备的触摸事件;Keyboard表示监听键盘的输入事件;Controller表示监听来自于操纵杆设备的事件;

q  Thresholds:指定特定事件可以被触发的临界值;

提示:一个有4个可设置的值,Mouse Drag表示判定当前事件是鼠标拖动事件的临界值是鼠标至少拖拽了多少个像素点;Mouse Click表示判断当前事件是鼠标点击事件的临界值是鼠标按下了以后,在拖动了多少个像素点之内,松开了按键,超出范围则不判定为点击事件;Touch Drag与Touch Tap类似于前两个可设置的值,只不过是鼠标换成了手指;

q  Axes and Keys:设置NGUI插件的输入系统。

提示:在Unity中,Keys几乎表示了所有输入设备的键值,例如,键盘上的所有按键都有对应的Keys,其它游戏操纵杆也一样,因此可以直接使用Keys表示特定的按键。同时,Unity将其中一些常用的Keys映射到了一些其它的Axes上,因此开发者也可以直接使用Axes表示特定的按键。NGUI对Axes and Keys属性的默认设置如图1-9所示,前3个是Axes,后4个是Keys。

图1-9  NGUI对Axes and Keys属性的默认设置

对于Keys,读者可以直接从名称上识别出其对应的键,但是对于Axes,与它对应Keys读者也许并不了解,而且读者有时可能需要修改Axes对应的Keys,有时则是直接添加Axes。那么,在Unity中如何添加和修改Axes呢?方法是,单击Edit|Project Settings|Input命令,即可弹出名为InputManager的对话框,读者可以在此对话框中添加和修改Axes,如图1-10所示本文选自NGUI从入门到实战教程。

图1-10  Unity默认设置的Axes

时间: 2024-10-12 13:42:58

Hierarchy视图里的Transform和Camera组件的相关文章

返回值为DataTable的数据,在MVC视图里的用法

控制器里的代码如下: private MySqlDbHelper msh = new MySqlDbHelper();        public ActionResult Index()        {            string sql = "select * from deviceType";            DataTable dt = msh.GetDataTable(sql, null);            return View(dt);       

文件重命名之动态修改ListView里指定Item中的组件属性

在Android实际开发过程中经常会遇到,修改ListView中某一项的值.如何达到这一目的呢? 方法主要有两种: 第一种方式:当ListView中某一项的值发生变化之后,重新加载数据已达到更新ListView的目的. 虽然第一种方式能够解决问题,但不值得推荐.因为这样会带来不必要的资源消耗.在移动终端这种硬件资源和计算能力都有限的情况下,显然有点得不偿失了,况且用户的体验也不好. 第二种方式:第二种方式可以说是第一种方式的改进.ListView中某一项的值发生改变,实际上是ListView的数

#你好Unity3D#Hierarchy视图监听gameObject点击事件

今天无意间又找到了个好方法 1 2 3 4 5 6 7 8 9 10 [InitializeOnLoadMethod] static void Start () { Selection.selectionChanged = delegate { Debug.Log(Selection.activeObject.name); }; } 前几天有朋友问过我怎么监听sceneview 和 hierarchy视图选择某个gameObject的事件,今天干好有时间我就研究研究. 下面的这两个代理事件大家都

Android 真机 程序安装后手机桌面或应用/窗口小部件视图里不显示程序图标

本文主要介绍android应用程序安装后图标不显示的几个可能原因. 自己写的程序突然安装后图标不见了,在应用程序安装中能找到,但是桌面上就是没有图标,启动只能从最近列表中其中..一般这种情况只会在服务类程序和测试程序中出现,因为不需要图标. 手机是中兴手机,在试过更改Android api版本.图标图片等方法后依然无果,又试了修改程序名称,问题解决.原名称是voter,被中兴和谐了...和谐了...谐了...了....又试了习大大的名字,依然不显示图标....欲哭无泪.... 附带网络上其他可能

Razor基础,视图里如何调用controller里的函数

1.单行代码书写 @代码 2.多行代码书写 @{ //@加个大括号就可以在里面写C#代码了. C#代码第一行 C#代码第二行 } 3.Razor模板引擎会自动判别代码块,但是当代码存在二义性的时候,可以用小括号澄清 @{ string name = "张三"; } // @name你好 报错当前上下文中不存在名称"name你好"*@ @(name)你好 再给一个例子,就是调用泛型方法的时候,尖括号会导致Razor转回标记,这个时候也可以用小括号澄清: @(Html.

android学习之LayoutInflater的用法,在myAdapter getView()里将多个TextView组件压缩成一个View控件,并在listView里显示

1.在LayoutInflater通常有下面2种初始化的方法,在Active里调用时很容易. 1. LayoutInflater inflater=LayoutInflater.from(context); 2. LayoutInflater inflater = (LayoutInflater)context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); 2.创建myAdapter类时候在getView()方法里使用LayoutInfl

sqlserver数据将多个表或视图的数据合并到一个表或视图里的sql语句

create view dbo.V_ZDUser_DDasselect * from dbo.V_ZDUser_DD1 union all select * from dbo.V_ZDUser_DD2 union all select * from dbo.V_ZDUser_DD3 union all select * from dbo.V_ZDUser_DD4 union all select * from dbo.V_ZDUser_DD5;

AndroidEclipse里的视图里想添加SDK Manager但是找不到怎么办?

有时候,我们想配置SDK Manager,但是发现找不到这个窗口,怎么办呢,网上有解释(上截图): —————————————————————————————————————————————————————————————————————— —————— —————————————————————————————————————————————————————————————————————————— 选择了这个选项之后点击“OK”,就大功告成了,查看下,是不是多出了两个图标:

NGUI创建Camera参数为Simple 2D的UI UI对象的结构UI Root(2D)

NGUI创建Camera参数为Simple 2D的UI UI对象的结构UI Root(2D) 使用NGUI创建的Camera参数为Simple 2D的UI,会在游戏的场景中生成1个名为UI Root(2D)的游戏对象,且此对象下还包含了3个其它对象:Camera.Anchor和Panel,如图1-4所示.本小节会分别介绍这4个游戏对象本文选自NGUI从入门到实战. 图1-4  在Hierarchy视图里查看新创建的UI游戏对象 1.4.1  UI Root(2D) 此游戏对象将负责控制UI控件的