NGUI笔记

1:TypewriterEffect 可以实现文字的逐字显示。

2:[这儿是颜色编码]要显示的文字[-]可以实现在label中文字某些文字的显示颜色。

例如;[34D33CFF]看这儿:[-]这里的看这儿将会显示是绿色的字体颜色。

3:滚动

(1)先在最外面的物体(sprite)上挂上 Drag Scroll View

(2)在他的子物体上新建一个panel 上面有scroll view

(3)在panel上新建要显示的sprite,在每个sprite上挂上 drag scroll view

(4)讲panel挂在最外面物体drag scroll view 的scrollview上。

(5)讲其他的属性设置好。

4:tween rotation实现物体的旋转

5:wrap content 用于实现分格,一般用于滚动

6:tween position 用于实现物体移动一般和play tween配合使用

7:cursor用于实现用鼠标控制物体在场景中移动。

8:button层级

(1)Button(UI Button color(这个里面有第四步的SlicedSprite),UI Button Sound ,Play Animation(这个里面需要有第二步里deAnimation))

(2)Animation(Animation组件)

(3)Label(Label组件)

(4)SlicedSprite(Sprite组件)

9:widget可以给物体添加一个框。这个框需要在root下面

10:实现一个物体在窗口漏出半截。点击之后全部出来。以此类推

(1)Anchor-Top Right(方向)(Anchor组件)

(2)Sprite-NGUI(Sprite ,Boxollider,TweenPosition,PlayTween)

11:drag camera 用于实现相机视野以外的物体在其上显示出来。这个应该是其他物体有一个相机。拖动的就是这个相机。

12:Play Animation 的经典案例

(1)新建一个Gameobject,(play Animation)

(2)在Gameobject下面新建一个Point Ligth,在这个聚光灯下面增加一个Animation(上面加上logo动画)

(3)在Gameobject下面加一个sprite,是要显示的一般是logo

(4)将Point Ligth加在第一步下面的Animation上。

(5)注意点:要将聚光灯的烘焙改为mixed,range最好是比图片小一点。强度为0,大小和图片的大小差不多就可以。在第一个gameobject上需要添加一个和图片一样大的触发器。图片的类型为simple。最主要的一点就是需要一个能够烘焙的类似于蜂窝的背景。

play animation 的触发设置设置为hover true。

13:spin可以实现物体的旋转。||spin with mouse 可以实现物体随着鼠标转动而转动。

14:tween Transform可以实现面板的旋转。需要两个位置。

15:pan widt  hmouse 可以实现相机的抖动(一般是左右移动)需要一个缸体

16:drag object 可以实现用鼠标拖动某个物体在场景中移动。这个时候Anchor要设置为NOne,不然拖动完之后又会回到原位置。

17:localize可以实现文字的折叠,这个插件一般和label配合使用

17.1: Label属性 Shrink Content 内容自动缩放,ClampContent 剔除多余的文本,Resize Freely根据输入的文本内容自动调节Dimension,不需要手动调整。Resize Height,保持宽度不变,必要时增加高度。

18:Tween

(1)tween width 用于实现物体的宽度从多少到多少。一般是从中间向两边拉升。

(2)tween height 的作用就是拉升高度了,一般是从中间向上下渐变。

(3)如果都加了height和width的话,那么物体就是从中间慢慢变大。如果改为pingpang模式的话,就是从小到大,再从大到小。

(4)tween alpha是调节物体的透明通道值。duration为持续的时间。tween group为tween组,设置为相同的数字的tween group将会在一个组。

(5)tween scale和第三步(3)的作用是一样的,只不过显示的效果不太一样。都是控制物体的缩放。最主要的是scale是直接控制xyz三个值的缩放。

(6)tween position 用于物体位置的移动。从某个三维位置到另一个三维位置。

(7)tween rotation的作用是旋转一个物体从一个位置到另一个位置。由于旋转是一个三维向量。所以在同时移动三个位置的时候会找一个三维的中间轴。按照这个轴旋转。

(8)tween transform  主要用于移动一个plane或者框。他的from和to是两个transform。

(9)tween color主要是控制颜色的渐变。

(10)tween FOV主要是控制相机的大小。FOV是摄像机里面的Field of View属性,这个东西类似于(只是类似于)clipping plane(这也是摄像机的一个属性)里面的F

ar。如果要给不是摄像机的某个物体添加这个组件。他将会自带一个Camera组件。这里始终注意的是这个只能适用于perspective(即三维相机),下面的(11)这个组件也是控制相机的大小变化的。

(11)tween orthosize组件只要用于控制正交相机(orthographic)的size。这个组件将控制二维相机的size变化。

(12)tween volume 组件主要是控制音乐的播放。在给某个物体添加这个组件的时候,他将会自带一个Audio Source(声音源)组件。

(13)此外在tween组件中还可以看到很多的tween xxx Editor结尾的组件。这些其实是脚本。每个组件都有一个相对应的可以编辑的脚本。

19: Other

(1)ChatInput 主要用于用户聊天窗口的输入,他会自带一个UI input的组件。****

(2)Look At Target 有两个物体 A B ,给A一个look at target,将B托给他。那么A就会朝着B。无论B怎么运动。

(3)BitMap  这是NGUI独有的字体系统,NGUI的字体需要专门的字体制作工具(Bitmap Font)来制作,而UGUI用的是动态字体。因此NGUI用的是静态字体。如果要给NGUI使用单独的字体,那么字体Label就要选择UGUI。这样出来的效果也是可以的,值得注意的是有些NGUI只是支持某些字体。例如有的 只支持中文。

(4)在Camera的UICamera中有一个Debug,勾上之后,在运行时,鼠标放在哪个空间上面,

(5)关于NGUI的碰撞盒子,这是一个对于NGUI很关键的组件,那么我们给某个要相应点击事件的物体添加组件的时候,通过两种方法添加,第一种是直接在物体的Inspector中添加组件(Add Component)和第二种在NGUI中添加Attach->collider(快捷键是alta+shift+c),这两种方法的区别是第一种只是添加一个组件,默认大小为1,而第二种方法是添加一个默认大小的 碰撞盒子。

(6)在NGUI中的Attach中可以添加UGUI类似的ui组件。。。

(7)DownloadTexture 他有一个自带的Url属性。可以从这个网址上下载需要的图片,一次应该只能下载一张。

(8)load level onClick  这个组建的作用是切换场景。

(9)spin 可以实现物体的旋转,通过改变XYZ的值,来实现旋转。

(10)pan with mouse 用于实现摄像机的左右抖动,一般需要给一个刚体。

(11)lag position  (缓慢移动)他可以有一个在拖拽过程中实现一个更加平滑移动曲线,这个可以在他自身中可以调节。

(12)Lag Rotation(缓慢旋转)(11)和(12)的作用主要是在用到拖拽的时候如果有时候摆动幅度太大,或者拖动的物体比光标移动的速度要快,就可以用到这两个组件。

(13)Windows Auto Yaw  可以让能拖拽的物体有一个绕着Y轴圆周运动的动作。

(14)Windows Drag Tilt 可以让物体在拖拽的过程中有一个左右摆动的动作,这个摆动的角度可以在这个组件中调节。

(15)Envelop Content  管理物体的位置,一般是包含在里面的,例如,在一个窗口中有一个有实际大小的物体,那么给这这个物体一个EC组件,就能控制他在窗口中的位置。只要查看ec组件的属性。就可以。

(16)AnimatedAlpha  给物体添加可以直接调节他的阿尔法通道。

(17)AnimatedColor  给物体添加可以直接调节物体的颜色。

(18)AnimatedWidget 如果在20的(3)中知道Widget,那么他的作用就是直接调节UIwidget(这个组件在添加的时候NGUI Widget,如果在添加之后可以在属性栏中看到的是UIWidget)组件中的Size属性。

20:hierchary/UI

(1)UIRoot  管理scalePixelPerfect,像素匹配,图片不会被缩放,除非屏幕高度小于Minimum Height(最小高度值),或者大于Maximum Height(最大高度值),如果那样的话就是用FixedSize,他在出生的时候回自带一个transform组件和一个专属自身的脚本UI Root。以及缸体和UI Plane。

constrained是适应屏幕,会有一个适应的宽高度。fixedscze 图片会被等比缩放。FixedSize

On Mobile意思是是用于移动设备。

(2)Sprite 图片类似于UGUI的image,其中Simple是简单地填充,缩放、Sliced九宫格、要设置好Border、Tiled重复平铺、Filled 各种填充,类似于一技能的360°冷却旋转 (3)UIWidget 是一个不可见的矩形,他不画图,但是可以接受事件,可以用于包括其他空间,它包含Anchor、sprite、label、这些都是从UIWidget 中继承的。UIWidget 可以用ctrl+shift+w来直接创建,也可以在NGUI中创建,它包含一个ui widget(NGUI Widget)的组件。他在hierchary中叫做Container。那么UIWidget 和Plane的区别是什么?,很显然UIWidget 是在plane下面的。在NGUI中,鼠标的响应事件都是有碰撞盒子组件的物体来响应。一般的话,plane是不会阻挡鼠标点击事件的,只有UIWidget 会阻挡。

22:drag

(1) drag object 可以实现某个物体的拖拽, 在拖拽过程中,需要一个碰撞盒子,如果想物体绕着y轴旋转,即可以看到在拖拽的时候物体绕着相机坐着圆周运动,可以添加一个Windows Auto Yaw组件(很显然,这个组件是十分适合2d物体的),如果把这个组件中的DragEffect的属性设置为None,那么他拖拽之后就不会回到原位置了。

(2)DragResize 给某个物体这个脚本,他可以拖动UIWidget 。

(3)Drag Drop Item 这也是一个可以实现物体拖拽的组件,他的主要作用是可以控制拖拽的方向,最重要的是在拖拽的时候勾上Clone On Drag。只会拖动他的一个克隆体。不能理解每拖动一次就会有一个克隆体。而他的Interactable,可以判定是否可以被拖动,这是一个相当舒心属性。

23:NGUI

(1)NGUI Debug

(2)NGUI

你可能感兴趣的:(NGUI笔记)