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
Hierarchy视图里的Transform和Camera组件的更多相关文章
- iOS Programming View and View Hierarchy 视图和视图等级
iOS Programming View and View Hierarchy 视图和视图等级 1.1(1)File → New → Project.. From the iOS section, ...
- thinkphp 3.2视图里添加URL参数 实例
使用TP的时候URL传参 到控制器里 视图里 <ul> <volist name="content" id="data"> <li ...
- #你好Unity3D#Hierarchy视图监听gameObject点击事件
今天无意间又找到了个好方法 1 2 3 4 5 6 7 8 9 10 [InitializeOnLoadMethod] static void Start () { Selection.s ...
- [2013.9.8网络首发]导入Android4.2源码里的Gallery2和Camera模块至Eclipse全过程
[2013.9.8网络首发]导入Android4.2源码里的Gallery2和Camera模块至Eclipse全过程 google的android自带的apps写的是相当牛逼的,将其导入到ecli ...
- 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动用属性:animation-play-state:paused暂停,在微信和safari里设置paused无效,在QQ里是正常的
这几天遇到了两个很奇葩的问题,终于找到原因,趁还记得解决方法,赶紧记下来: 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动可以用属性:animat ...
- VueJs(11)---vue-router(命名路由,命名视图,重定向别名,路由组件传参)
vue-router 上篇文章讲了第一篇vue-router相关文章,文章地址:VueJs(10)---vue-router(进阶1) 一.命名路由 有时候,通过一个名称来标识一个路由显得更方便一些, ...
- unity操作Hierarchy视图下同名的对象
上周遇到了一个令我尴尬的问题,在同一个场景内有了两个名字相同的对象,给个形象化的栗子: 场景内有橱窗,橱窗是模型,窗户是可以打开的[点击控制],窗户可以控制打开和关闭的.然后我就选用了一个保守的方式进 ...
- Razor基础,视图里如何调用controller里的函数
1.单行代码书写 @代码 2.多行代码书写 @{ //@加个大括号就可以在里面写C#代码了. C#代码第一行 C#代码第二行 } 3.Razor模板引擎会自动判别代码块,但是当代码存在二义性的时候,可 ...
- vue里图片压缩上传组件
//单图上传 <template> <div> <div class="uploader" v-if='!dwimg'> <van-upl ...
随机推荐
- 再谈对协变和逆变的理解(Updated)
去年写过一篇博客谈了下我自己对协变和逆变的理解,现在回头看发现当时还是太过“肤浅”,根本没理解.不久前还写过一篇“黑”Java泛型的博客,猛一回头又是“肤浅”,今天学习Java泛型的时候又看到了协变和 ...
- cocos2dx+lua注册事件函数详解
coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 registerScriptTapHandler 注册点击事件 registerScriptHa ...
- 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)
public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...
- C++简单使用Jsoncpp来读取写入json文件
一.源码编译 C++操作json字符串最好的库应该就是jsoncpp了,开源并且跨平台.它可以从这里下载. 下载后将其解压到任意目录,它默认提供VS2003和VS2010的工程文件,使用VS2010可 ...
- 【转】基于注解的SpirngMVC简单介绍
转载地址:http://haohaoxuexi.iteye.com/blog/1343761 SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是 Di ...
- 把.pvr.ccz文件转换成png
我用的是一个万能转换法,原理是先用CCSprite加载.pvr.ccz,然后把它绘制到一个CCRenderTexture上,然后再保存到文件里.这方法其实不只.pvr.ccz文件,其他所有能被coco ...
- Java for LeetCode 199 Binary Tree Right Side View
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...
- 【JAVA、C++】LeetCode 002 Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- NEFU 2016省赛演练一 F题 (高精度加法)
Function1 Problem:F Time Limit:1000ms Memory Limit:65535K Description You know that huicpc0838 has b ...
- mac os 显示文件列表命令 ls -a
显示正常文件列表用ls就行了,但是要是想显示隐藏的文件,需要加-a