Unity3d NGUI知识

参考:http://forum.exceedu.com/forum/forum.php?mod=viewthread&tid=33091&extra=page%3D1

一、Panel相关

1、Alpha属性影响所有在panel下面的widget。所以可以用它来淡出整个窗口

2、如果你的UI需要被灯光影响,需要勾选上Normals。

二、Camera

1、UICamera真正做的事情是发送NGUI事件给所有被当前camera渲染的object,camera是UICamera脚本所在的那个。 其实这个脚本做的事情和UI无关。事实上如果你想让游戏里面的object接收OnPress、OnClick、OnDrag等这类事件,你需要把UICamera挂在你的主相机上

2、UICamera的选项Event Type用来决定脚本如何排序mouse或者touch触发的事件。如果是UI模式,这些事件顺序基于widget的depth——和渲染顺序一样。如果UICamera挂到了Main Camera上,那么就需要把这个选项修改成World模式。这样就会根据与相机的距离来排序点击到的object。

3、Event Mask用来决定哪些层会接收事件。大多数情况下你需要的就是“Everything”,这个值会与UnityEngine.Camera‘s Culling Mask进行逻辑与运算,有需要的话你可以微调这个值。如果你修改了UI的game object的Layer,记得调整Event Mask,否则你可能会发现UI不响应事件。

4、Allow Multi-Touch选项用来控制是否支持多点触碰。如果勾选掉,多点触碰也会当做单点触碰。

小贴士

UICamera发送以下事件给collider:

  • OnHover (isOver) 发送时机为鼠标悬停(只触发一次)或者离开collider。
  • OnPress (isDown) 发送时机为鼠标在collider上按下。
  • OnSelect (selected)发送时机为鼠标点击和松开的时候都在同一个object上。
  • OnClick ()发送时机和OnSelect一样,但是要求鼠标没有移动特别多。UICamera.currentTouchID表示按下的鼠标哪个键。
  • OnDoubleClick ()发送时机为当在四分之一秒内click两次的时候。UICamera.currentTouchID表示按下的鼠标哪个键。
  • OnDragStart ()发送时机为OnDrag()事件之前。
  • OnDrag (delta) 发送时机为一个object被拖拽。
  • OnDragOver (draggedObject)发送时机为其他的object拖拽到他的上面。
  • OnDragOut (draggedObject)发送时机为其他的object拖拽出他的上面。
  • OnDragEnd ()发送时机为drag事件结束。发送给被拖拽的object。
  • OnInput (text)发送时机为输入的时候(在点击选择了一个collider之后)。
  • OnTooltip (show) 发送时机为鼠标悬停在一个collider上一段时间没有移动。
  • OnScroll (float delta)发送时机为鼠标滚轮滚动。
  • OnKey (KeyCode key)发送时机为键盘或者输入控制器被使用的时候。

用他们到自己的脚本里面,只要实现相应的函数即可:

三、UIGrid

1、Arrangement的值决定了子节点的摆放位置。Horizonta让子节点向右排列,Vertical向下排列。

2、Max Per Line属性控制Horizontal排列时候的最大有多少列, Vertical排列的时候最大有多少行。

3、Cell Width和Height决定了所有条目的间隔。

时间: 2024-10-09 18:11:49

Unity3d NGUI知识的相关文章

[Unity3d][NGUI]两种思路解决AssetBundle的依赖关系.

接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundle会将每一个组件使用的dynamicFont都分开打包进去. 导出函数请參考:导出资源 导出资源包时出现的问题: 如图: 在解决依赖关系上我使用过2种方案: 第一种是使用BuildPipeline中的PushAssetDependencies和PopAssetDependencies方法来解决依赖关

Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址:Unity3D NGUI自适应屏幕分辨率 1.UIRoot:根据高度自适应屏幕分辨率. NGUI根目录的UIRoot组件自带了根据高度自适应分辨率的功能. Scaling Style属性可选择三种不同的缩放策略. PixelPerfect 完美像素:直接显示设定好的像素.当屏幕高度低于minimum

Unity3d + NGUI 的多分辨率适配

移动端的多机型适配 现在要介绍的是<锁链战记>这款游戏的适配方法,这种适配方法是UI是一个基础尺寸,背景是一个基础尺寸,背景比UI多出的部分是一些没有实际作用的部分,这样的适配方式避免了在iPhone5这样的小屏幕上镶边. 首先设定UIRoot的Scaling Style属性,如果是电脑现在FixedSize,如果要打包到移动端选择FixedSizeOnMobiles. 我这里是以960*640为UI基础尺寸所以这里填写640高. 下面编写脚本BaseAspect.cs using Unity

Unity3D NGUI学习(一)血条

这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu.com/s/1mhKaoha 导入后Unity工具栏上面就会出现关于NGUI的选择了 第二步,开始看一些例子,分析一些例子,因为一般学插件就是下载后照着别人的例子去做可以学会了. 来看一个例子 这里还看一个上面的进度条的 当这个按钮包含几个脚本之后,就达到这样的效果 之后就能够通过实现脚本控制这个进

Unity3D NGUI图集切成图片

Unity3D NGUI图集切成图片 有的时候用NGUI做好了图集,那么原图就没有必要放到Unity3D中了,严重影响Unity3D的速度.但是突然右想把图片弄出来.当然NGUI是提供了图集中单个图片另存,但是如果图片太多,比较费时间,所以用python写了个切图片的工具代码如下: Python环境:2.7 测试通过,需要依赖Image库 NGUI版本:3.7 #coding:utf-8 #unity 图集裁剪成png #Author:Wiker Yong #Date:2015-07-08 im

[插件] unity3d NGUI官方购买最新版本3.7.2 带系列旧版本

插件 资源名称: NGUI最新版本3.7.2 资源版本: 3.7.2 资源类型: .unitypackage 资源大小: 14.1 更新时间: 2014-09-16 支持正版: ↓↓↓↓↓↓插件仅用于学习,禁止商用,为了维护您的个人权益,请支持正版↓↓↓↓↓↓ 官网地址: https://www.assetstore.unity3d.com/en/#!/content/2413 资源图片: 链接: http://j.gs/926397/ngui372  密码: non6

Unity3D NGUI从背包中拖出并在场景中生成物体

http://www.cnblogs.com/zhanghaipeng-Unity3D/p/4732592.html 由于游戏需要从背包中拖出武器并在场景中相应的位置生成出来,所以研究了一下这个. 一般来说,在Unity3D开发中如果使用NGUI为游戏做UI,我们的场景和UI并不是使用一个相机进行渲染的,所以从背包中拖出物体并在场景相应的位置生成物体,就会涉及到UICamera和场景摄像机的转换.我在做这个时主要通过打射线来实现坐标转换. 如何创建一个可拖动的UI组件可以参考NGUI中的Exam

Unity3D NGUI UIInput制作输入框屏蔽特殊字符(只允许输入正整数)

1.首先看看使用NGUI插件创建一个简单输入文本框效果:. 2.这个简单的输入文本框需要一个label标签作为显示,一个背景图片以及输入UIInput脚本.我们看看unity的输入文本框的节点图 我们需要如下操作创建上图的节点, 接着创建量空的Gameobject节点如图所示并且重新命名为Input和Label名字. 3.绑定对应的脚本,在Input节点上我们添加部件选择UIInput.cs脚本和UISprite.cs脚本以及添加一个矩形碰撞器如图所示: 接下来我们进行UISprite脚本的设置

【转】Unity3d + NGUI 的多分辨率适配

原文地址:http://www.cnblogs.com/cqgreen/p/3348154.html 一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS设备的分辨率主要有: 宽 高 宽高比 960 640 1.5 1136 640 1.775 1024 768 1.3333 2048 1536 1.3333 Android设备的分辨率则相对纷杂,主流的分辨率有: 宽 高 宽高比 800 480 1.6667 854 480 1.7792 1280 72