写给自己看的博客_UGUI-5.5.2f1_基础

来源:互联网 发布:疯狂网络txt下载 编辑:程序博客网 时间:2024/05/17 06:47

http://www.cocoachina.com/game/20160602/16570.html

 

 

 

文章部分参考,引用于以上网址。

总结:如果你英语足够好,很多问题就不存在了,然后去官方网址学习,查找,很容易就能解决问题。

1零散知识

UGUI与以往的NGUI不同之处很多其中一大特点就是UGUI把精灵图集的功能取消了。

想不到unity5不再兼容ngui,也算没办法,毕竟ngui的后劲都已经过了,也算是一代ui战神,就这样吧,少学点东西也好。

2基础UI

1.Text

非常简单,自信就行。

2.Toggle

多动脑子,toggle什么的依靠什么,Canvas吗?

多个toggle放在一个toggle group下面,不放也行,toggle选择同一个group既是为一个组,

Group可选择是否每个toggle都可以关闭。

C#上也很简单,value change有些东西有点趣味

3.button手动与纯代码控制

手动设置都是一样的,其中fun可以有参数,不过没有意义,设置全局变量在无参数的fun中就行,既然可以,为什么要加一个参数控制呢,可能这样比较好调试吧。

自动设置也很简单,只需要取到Button类,获得Onclick委托,调用addListener()函数设置委托函数就行。

其实是很简单的,只要到相应的类里面看下成员或者去下官方文档看下,马上就能明白。

4.RectTransform

有下面几个点。

1,  当屏幕大小改变,物体pivot相对anchor的距离不改变。更准确说是父物体改变。当anchor为矩形时,属性分别变成了LeftTopRightBottom,是指4个点相对Pivot的比例(位置)不变。

2,  谁在谁上面,谁就是anchor的parent,Alt键可以直接应用子物体到该锚点选择

3,  Min与max可以自定义 anchor,anchor一个矩形,指的是一个矩形相对应另一个矩形的变化。

4,  pivot是物体的轴心,物体的宽高变化,移动,旋转,缩放都与之有关。

5,  posXY是物体的移动

6,  width宽高,既,大小

代码方面:很难理解,但是可以直接改变值到自己想要的效果就行。

1.      offsetMinoffsetMax这两个属性比较好理解,其中offsetMin表示物体(左下角相对AnchorMin的偏移,offsetMax表示物体右上角相对AnchorMax的偏移

2.      sizeDelta(可控制宽高)就是offsetMax - offsetMin的值,感觉像是子物体的顶点,相对于锚点的位置变化。

3.      anchoredPosition(可控制物体的移动)如果在AnchorMinAnchorMax是重合的情况下,anchoredPosition就是表示锚点到Pivot的位置,即xy表示的是Pivot相对应anchor的位置变化。

5.Slider

与button一样,可以手动或者代码处理,不同在于,手动时,选择函数时,上面明确写着,一个是动态参数,一个是静态的参数。仔细查看,别选错了。

6.Image

很简单,这里只说一个Sliced,九宫切图。让放大失真的图片重新变清晰。

说明下,九宫切图好像只适合某些有边界的图片,如果是完整的图片,那关键部分就会被切除掉了。

7.Mask

带有mask的物体,如图片,让其下的子物体的显示不超出自己大小范围。

属性show mask graphic表示是否显示自己的图片。

隐藏的前提是该材质即该shader是mask支持的,否则无法隐藏。

8.GridLayoutGroup

自动排版组件。子物体大小都是相等的,所以属性里,可以控制子物体的大小,间隔,移动(都是整体的操作),与pivot有关。

9.ScrollRect

控制某个content的滑动。属性有,content(必须有Box collider),水平垂直移动方向。

 

 

10.Canvas

1.Sorting Layer:Sorting Layer是UGUI专用的设置,用来指示画布的深度。可以点击“+”添加Layer,或者点击“-”删除Layer。画布所使用的SortingLayer越排在下面,显示的优先级也就越高。

2.Order inLayer:在相同的Sort Layer下的画布显示先后顺序。数字越高,显示的优先级也就越高。

3. PlaneDistance:画布距离摄像机的距离

 

模式:

1.ScreenSpace-Camera模式

这种模式可以用来实现在UI上显示3D模型的需求,比如很多MMO游戏中的查看人物装备的界面,可能屏幕的左侧有一个运动的3D人物,左侧是一些UI元素。

2. WorldSpace

它有一个单独的参数Event Camera,用来指定接受事件的摄像机,可以通过画布上的GraphicRaycaster组件发射射线产生事件。这种模式可以用来实现跟随人物移动的血条或者名称

11.Canvas Scaler

1. Constant Pixel Size:像素大小始终不变,即一个100*100的图片在任何的分辨率下都占用100*100的像素。一般PC上会使用这种方式,因为PC端分辨率差异并不大。

2. Scale With Screen Size:不关心图片的实际像素大小,而只关心Width及Height值,这个值如果是1000,那么100高度的图片在任何分辨率下都只占用屏幕1/10的尺寸。一般移动端会使用这种方式,因为移动端分辨率差异较大。

3. Constant Physical Size:根据物理单位来进行缩放。

12.Canvas Group

可以通过Canvas Group影响该组UI元素的部分性质,而不需要费力的对该组UI下的每个元素逐个调整。CanvasGroup是同时作用于该组UI下的全部元素。

 

Alpha:该组UI元素的透明度。需要注意,每个UI最终的透明度是由此值和自身的alpha数值相乘得到。

Interactable:是否需要交互(勾选则可交互),同时作用于该组全部UI元素

Blcok Raycasts:如果需要图形射线(GraphicRaycaster)检测。勾选后,可将此组件作为一个射线碰撞盒。注意,不适用于Physics.Raycast。

Ignore Parent Groups:是否需要忽略父级对象中的CanvasGroup的设置。(勾选则忽略)

 

CanvasGroup的典型应用方式:

1.通过调整CanvasGroup的Alpha可以控制改组UI的淡入淡出

2.不勾选Interactable,可设置某个UI对象的所有子对象都不参与交互

3.通过设置Blcok Raycasts为false,可以使UI不阻挡鼠标(点击)事件

13.Canvas Renderer

从菜单中可以获得的标准UI对象,所有需要的画布呈现器都在需要的地方,但是您需要为定制的UI对象手动添加这个组件。尽管在检查器中没有公开的属性,但是可以从脚本中访问一些属性和函数

该类隐藏的属性参数还是很多的。

14.Raw Image

RawImage功能上与Image组件类似,但属性并不完全相同。

RaycastTarget 决定是否可接收射线碰撞事件检测

UV Rect 可以让图片的一部分显示在RawImage组件中

15.Rect Mask 2D

RectMask2D是一种类似于掩模控制的屏蔽控制。该掩码将子元素限制为父元素的矩形。与标准的屏蔽控制不同,它有一些限制,但它也有一些性能优势。

RectMask2D的一个常见用途是显示较大区域的一小部分。使用RectMask2D来画出这个区域。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击