`

NGUI 组件 UIRect

    博客分类:
  • U3D
 
阅读更多


UIRect:是常用控件的父类,他主要控制Anchors锚点

Type:有三种类型,None,Unified 和 Advanced,advanced是全集,但一般用Unified 就够了。advanced会分别为四条边指定不同的停靠对象。

Left,Right,Bottom和Top:这四个是指当前组件的四条边,UI Root 是当前组件停靠的参照对象。除了参照对象以外,还有具体参照的边,主要有上下左右中五个参照对象。

总结:UIRect作为控件的父类,它主要的作用就是控制控件的大小和位置,这里的位置是相对参考组件的位置。UIRect用来12个Anchors点来描述这些信息,其中8个点用来锁定控件的大小和坐标,另外4个点用来描述控件跟参照控件的相对位置关系。为什么有了8个点,还有4个点呢?我觉得这是用来做跟随用的,如果参照组件的位置改变,当前组件可能也会跟变。

 

UIPanel:

Alpha:调整当前panel里面所有组件的透明度。

Depth:深度值,需要注意的是不同的panel的深度值不要一样,这个设计到渲染的排序。

Clipping:选择none就是不裁剪。选择soft clip并指定panel的大小就可以做出Scroll View的效果,如果是这样需要勾选cull。选择constrain but dont clip 表示会遮盖范围外的组件但是不会被裁剪。一般选soft clip吧。

Render Q:可以控制当前panel的渲染队列序号,来改变他被渲染的顺序,这个值为3000+。

Normals:渲染时可以渲染法线。

Cull:对被遮挡的三角形进行剔除,如果被遮挡的三角形很多,那么这是划算的,如果不多它本身也会存在性能损耗,这也是为什么有constrain but dont clip 选项的原因。

Static:勾选它代表容器内所有的控件都不会被移动,能提升效率。

panel tool:是否在panel tool里面显示。

show draw calls:显示当前panel调用了多少次call的详细信息。 

总结:NGUI对UIPanel的定位是一个渲染器而并非一个容器,这意味着不应该滥用这个组件,而是在必要的时候使用它,由于它仅仅涉及到渲染相关的东西,所以他也应该只是用来作为容器,而不是其他。

 

 UIWidget:

alpha:设置透明值

depth:设置深度值

dimensions:设置高度和宽度

 

UILabel:

Font:可以使用的字体有两种系统字体和Bitmap字体,系统字体可以调整大小,一般我们会选择一种系统字体,然后其他的都用Bitmap字体。

material:相当于为当前label里的字体指定一种渲染材质。

text:指定文本内容。

Overflow:指定文本超出后处理的策略,

1.Shrink Content:与Keep Crisp设置一起来控制Dynamic字体,使字体的字号变小而不是简单的缩放。这样不管label是否被缩放都能保持清晰。

2.Clamp Content:剔除多余的文本。

3.Resize Freely:根据输入的文本内容自动调整dimension,不需要手动调整。

4.Resize Height:保持宽度不变,必要时增加高度。

Alignment:文本对齐方式,左中右。

gradient:通过设置顶部的颜色和底部的颜色来进行控制字体颜色的渐变。

Effect:可以为字体设置阴影或者下划线之类的效果,但是这种效果会对性能有损耗,不推荐。

Spacing:调整字体的间距。

Max Lines:文本最大行数,0为不限制。

color tint:设置字体颜色的色调。

总结:整个UILabel都是围绕字体展开,理论上来说它不涉及字体之外的东西,这样也挺好的。理论上会选用一种字体,然后对字体做出一些改变增加一些效果,然后对于一些特殊的字体,使用Bitmap字体。

 

 UI2DSprite、UISprite、UITexture: 

 这三种组件都是用来绘制图片的, UI2DSprite是用来兼容U3D自带的 Sprite的,一般用UISprite、UITexture即可。UISprite、UITexture有什么区别呢?UISprite使用的图片来源是把多个图片打包到一张大图上来使用,由于打包到一张大图,所以加载的时候只需要DrawCall一张大图就行了。而UITexture就是普通的绘制图片,为了绘制UITexture每次都会调用一次DrawCall,除非图片相同。

Type:这三种组件都有的属性,如果说这几个组件的不同表现在绘制源的不同的话,Type类型的不同就表现在绘制的方式上。众所周知,组件的大小和图片的大小是两个大小,所有要把图片绘制在组件上有多种策略。

public enum Type
	{
		Simple,
		Sliced,
		Tiled,
		Filled,
		Advanced,
	}

 Simple:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 1.9 KB
  • 大小: 44.7 KB
  • 大小: 56 KB
  • 大小: 40.2 KB
  • 大小: 54.9 KB
分享到:
评论

相关推荐

    关于NGUI部分组件

    关于NGUI部分组件 NGUI是Unity3D中的一款插件,提供了许多有用的组件和功能,本文将对NGUI中的部分组件进行详细的介绍和解释。 一、NGUI学习笔记 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果...

    NGUI制作UI组件

    本教程将深入探讨如何利用NGUI来制作UI组件。 首先,NGUI的核心概念包括Widget(控件)和UIController(控制器)。Widget是构成UI的基本元素,如按钮、文本、图片等;而UIController则是负责管理这些Widget的逻辑...

    NGUI v3.12.1 2018 最新版NGUI

    NGUI的核心优势在于其组件化的设计理念。每个UI元素都被视为一个独立的组件,可以自由组合和配置,这极大地提高了开发效率。例如,Text、Button、Image等基础组件,通过简单的拖拽和设置属性,就能快速创建出丰富的...

    NGUI 3.12.b

    - **Widget**: NGUI的基础组件,可以是按钮、文本、图像等,它们都具有位置、大小和层级等属性。 - **Panel**: 作为容器来管理Widget,支持不同类型的交互和渲染效果。 - **TextMesh**: 提供高级文字处理,支持多...

    NGUI3.6.4 最新版本NGUI ngui

    3. **组件丰富**:NGUI内置了大量的UI组件,如按钮、文本、图像、滚动条、下拉列表等,这些组件都可以进行组合和自定义,以适应各种界面设计需求。同时,还有如Tween动画、事件处理等高级功能,增强了UI的交互性和...

    NGUI Shader替换包

    2. **找到NGUI组件**:在Unity编辑器中,找到你的NGUI组件,如UI Button、UI Text等。这些组件通常有对应的Material属性,Material决定了它们的渲染效果。 3. **替换Material的Shader**:选择UI组件,然后在...

    Unity3D 第三方2D组件库——NGUI

    其中,NGUI(Next-Generation User Interface)是一个广受欢迎的2D组件库,它为Unity3D提供了丰富的UI解决方案。 NGUI的设计理念是提供一套直观、高效且可扩展的UI工具,让开发者能够轻松创建出美观且响应迅速的...

    NGUI可用----边缘高光

    描述中提到的“Unity3D使用NGUI上的UITexture使用界面高光特效”,意味着开发者将通过NGUI的UITexture组件来应用这个特效。UITexture是NGUI的一个关键组件,它允许我们将纹理贴图应用到UI元素上,包括图片、按钮等。...

    NGUI版的虚拟摇杆

    【NGUI版的虚拟摇杆】是Unity3D游戏开发中的一个组件,它主要用于实现触屏设备上的游戏控制,提供类似传统游戏手柄的虚拟操作方式。在移动平台上,由于物理按键的缺失,虚拟摇杆成为了游戏操控的主要手段。NGUI...

    最新版NGUI插件,支持Unity2021稳定版,不报错

    1. **组件化设计**:NGUI采用组件化的设计理念,每个界面元素都是一个单独的游戏对象,可以自由组合和扩展。这使得UI布局和管理变得更加灵活。 2. **自动分辨率适配**:NGUI支持自动适应不同分辨率的屏幕,确保UI在...

    Unity界面NGUI示例详解

    首先,需要在Unity中创建或打开一个项目场景,然后在场景中添加NGUI组件或使用NGUI提供的快捷菜单创建UI元素。在创建UI元素时,NGUI会自动生成一个树状结构,这样有助于管理和维护复杂界面。 一个典型的应用实例是...

    NGUI-Unity(2020-2021)亲测可用

    4. **组件化设计**:NGUI采用组件化的设计思想,每个UI元素都是一个GameObject,可以添加各种组件,如Text、Button等,便于管理和复用。 5. **脚本支持**:NGI提供了强大的脚本API,可以编写自定义逻辑,增强UI的...

    unity NGUI.zip

    标题"unity NGUI.zip"指向的资源是一个包含NGUI组件的压缩包,特别标注为版本3.12.1。NGUI是由Tasharen Entertainment开发的,它提供了一套强大的2D和3D界面工具,支持自定义布局、动画以及与游戏逻辑的深度集成。这...

    NGUI离线文档

    NGUI是一个用户界面系统,专为Unity3D设计,它提供了丰富的UI组件和工具,使得开发者能够在2D和3D环境中创建出交互性强、视觉效果良好的游戏界面。这份离线文档是开发者在没有网络连接时获取NGUI相关知识的重要资源...

    NGUI Next-Gen UI 3.9.2

    1. **组件化设计**:NGUI采用组件化的UI构建方式,允许开发者通过添加不同的UI组件来构建复杂的交互界面,如文本、按钮、图像、精灵等。这种模块化的设计使得UI元素可以轻松复用和组合。 2. **层级管理**:NGUI提供...

    ngui 3.7.0

    1. **组件化设计**:NGUI采用组件化的思想,将UI元素如按钮、文本、图片等都封装为独立的组件,开发者可以自由组合,构建出复杂的界面布局。 2. **事件系统**:NGI内置了完整的事件处理机制,允许开发者通过简单的...

    NGUI3.11.2

    NGUI 是一个针对 Unity 游戏引擎的用户界面(UI)系统,专为游戏开发者设计,提供了一套高效、易用且功能丰富的UI组件。在3.11.2版本中,NGUI 进一步提升了性能和用户体验,遵循了“Keep It Simple, Stupid”(KISS...

    NGUI练习项目源码

    源码分析可以帮助我们理解如何在Unity3D中组织和管理NGUI组件,以及如何通过C#脚本来控制UI的行为。 首先,NGUI的核心概念是Widget,它代表了界面上的一个可视元素,如按钮或文本框。每个Widget都有自己的Transform...

    NGUI全面实践教程

    《NGUI全面实践教程》是一本专注于Unity游戏引擎中NGUI组件深度使用的教程。NGUI是Unity中一款流行且功能强大的用户界面系统,它为2D和3D游戏提供了丰富的UI设计和交互功能。本教程旨在帮助开发者充分利用NGUI的强大...

    unity3d_NGUI v.3.11.2

    1. **组件系统**:NGUI的核心在于其组件化的设计,如Widget(控件)、UIAnchor(定位)、UILabel(文本标签)、UIImage(图像)等,这些组件可以方便地组合和配置,以创建复杂的UI布局。 2. **层级管理**:NGIUI...

Global site tag (gtag.js) - Google Analytics