NGUI学习笔记(一)UILabel介绍
来个前言:
作为一个U3D程序员,自然要写一写U3D相关的内容了。想来想去还是从UI开始搞起,可能这也是最直观同时也最重要的部分之一了。U3D自带的UI系统,也许略坑,也没有太多介绍的价值,那么从今天开始就记录一下主流的UI插件-NGUI吧。
NGUI版本:
v3.6.8
学习笔记一
假定大家都已经将ngui导入到了项目中,这里需要注意,插件(.package)的存放路径不能有中文,否则会导致解压失败。
导入之后可以看到几个文件夹咯,Editor,Examples,Resources,Scripts,辣么,作为刚刚接触U3D或者NGUI的小伙伴们,就可以去Examples的Scenes目录下去看看相应的例子,都是一些完成好的场景哦~
打开场景之后,可以看到已经完成的UI,但是这时候默认的都是3D场景,而一般的UI都是2D的,所以记得在Scene视窗中把2D选项点上。这样看起来就是2D的UI了。
创建UIRoot
OK,光说不练假把式,下面我们自己来创建一个Scene,来制作自己的第一个UI。
创建好新的场景之后,在菜单栏的NGUI选项中可以发现Options-->Reset Prefab Toolbar,点击之,可以发现NGUI预设的一些控件出现了。这就是方便我们创建UI控件的地方。
那么为了满足承载NGUI的UI的需求,我们需要一个UIRoot来作为承载UI容器。那么如何创建呢?很简单,直接把Prefab Toolbar中的控件拖入场景中,你会发现在Hierarchy中出现了一个UIRoot。UIRoot创建成功,打开可以发现其自带了一个Camera,作为UI的摄像机来渲染UI元素。
选中Scene中的UIRoot,右键,可以看到菜单上出现了Create用来创建各种UI元素的选项,Attach添加滚动视野,属性绑定等的选项,Tween添加动画选项。
创建UILabel
UILabel,顾名思义,用来显示文字。右键UIRoot,Create,UILabel。注意,如果右键UIRoot控件,没有菜单弹出,则看下右侧UIRoot的Inspector中的脚本是否没有展开,若没有展开则无法运行相应的功能。
创建玩Label之后,点中它,可以看到在屏幕右侧的Inspector。我们的关注点就在Inspector中UILabel脚本中的各个属性。
Font:
首先是字体属性Font,可以看到有2种字体第一种是NGUI第二种是Unity,选择NGUI则意味着使用的是我们通过NGUI创建的字体(在菜单栏NGUI下拉菜单中选择Open->FontMaker来创建NGUI字体,之后会介绍),
选择Unity,可以发现默认情况下其只有一个Arial字体,辣么一目了然咯,Unity字体其实就是动态字体.TTF。我们可以通过下载TTF字体放到项目目录,再通过Unity字体来使用。
Font Size:
下面介绍下Font Size咯,就是字号,默认20。那么我们将字号设为100,为何发现字体没有相应的变大呢?这是由于Label控件本身还有一个Size的问题,就是一个容器和容器内容的关系,容器内容不可能比承载它的容器大。那么只要设置Widget的Size属性就可以调节大小了。当Label控件的尺寸足够大,则字体会按照设定的Font Size来显示。当然字体显示的方式,还与下面介绍的Overflow属性有关。
Overflow:
和字体显示相关一个属性,相当于一个字体显示的策略。包括4种策略,即ShrinkContent, ClampContent, ResizeFreely, ResizeHeight4种。下面来分别介绍。
ShrinkContent:即默认的策略,文字显示的大小与Label的Size自动适应,Label控件的Size不足以显示字体的大小时,字体的尺寸会去适应Label控件的大小。
ClampContent:如字面意思,就是裁剪掉无法显示的字体内容。字体内容会按照Font Size设定的大小来显示,但是当Label控件的大小不足以盛放字体内容时,相应的字体内容被裁剪掉不会显示。
ResizeFreely:与第一种策略相对应,这时是Label控件的大小去适应字体内容的大小。
ResizeHeight:同字面意思,Label控件的高度无法手动调节,而是随着字体内容的大小需求去适配字体内容,只能手动调节Label控件的宽度。
Alignment:
对齐方式选项。包括5种策略,比如常见的自动对齐,左中右对齐,还有一个较为特殊的Justified对齐方式。
Justified:即自动扩展,使文字与Label控件的宽度保持一致。不过有一点需要注意,该对齐方式只对英文有效。中文就不要使用了。。。
Gradient:
字体颜色渐变的设置。包括Top和Bottom,即从Top色变到Bottom色。
Effect:
效果,无需赘述,包括描边(outline)和阴影(Shadow)。
Color Tint:
字体渲染的颜色。
好啦,今天就先总结到这里了。
NGUI学习笔记(一)UILabel介绍的更多相关文章
- NGUI 学习笔记实战之二——商城数据绑定(Ndata)
上次笔记实现了游戏商城的UI界面,没有实现动态数据绑定,所以是远远不够的.今天采用NData来做一个商城. 如果你之前没看过,可以参考上一篇博客 NGUI 学习笔记实战——制作商城UI界面 ht ...
- NGUI学习笔记汇总
NGUI学习笔记汇总,适用于NGUI2.x,NGUI3.x 一.NGUI的直接用法 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加 ...
- NGUI 学习笔记实战——制作商城UI界面
http://www.cnblogs.com/chongxin/p/3876575.html Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我 ...
- HTML+CSS学习笔记(1) - Html介绍
HTML+CSS学习笔记(1) - Html介绍 1.代码初体验,制作我的第一个网页 <!DOCTYPE HTML> <html> <head> <meta ...
- Typescript 学习笔记一:介绍、安装、编译
前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...
- cocos2d-x入门学习笔记,主要介绍cocos2d-x的基本结构,并且介绍引擎自带的示例
cocos2d-x 3.0 制作横版格斗游戏 http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi http://blo ...
- InterSystems Ensemble学习笔记(一) Ensemble介绍及安装
系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...
- vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍
这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...
- Apache Ignite 学习笔记(一): Ignite介绍、部署安装和REST/SQL客户端使用
Apache Ignite 介绍 Ignite是什么呢?先引用一段官网关于Ignite的描述: Ignite is memory-centric distributed database, cachi ...
随机推荐
- ASP.NET内置对象的总结
1. Response对象可形象的称之为响应对象,用于将数据从服务器发送回浏览器. 实例源码:链接: http://pan.baidu.com/s/1dDCKQ8x 密码: ihq0 2. Requ ...
- 120项改进:开源超级爬虫Hawk 2.0 重磅发布!
沙漠君在历时半年,修改无数bug,更新一票新功能后,在今天隆重推出最新改进的超级爬虫Hawk 2.0! 啥?你不知道Hawk干吗用的? 这是采集数据的挖掘机,网络猎杀的重狙!半年多以前,沙漠君写了一篇 ...
- javascript数组查重方法总结
文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...
- celery使用的一些小坑和技巧(非从无到有的过程)
纯粹是记录一下自己在刚开始使用的时候遇到的一些坑,以及自己是怎样通过配合redis来解决问题的.文章分为三个部分,一是怎样跑起来,并且怎样监控相关的队列和任务:二是遇到的几个坑:三是给一些自己配合re ...
- CSS常见技巧
一.CSS Sprite(雪碧图|精灵图)指什么? 有什么作用? CSS雪碧 即CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图像和背景图片合并到一张图片上,然后利 ...
- iOS 多线程之GCD的使用
在iOS开发中,遇到耗时操作,我们经常用到多线程技术.Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法,只需定义想要执行的任务,然后添加到适当的调度队列 ...
- Java企业实训 - 01 - Java前奏
前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...
- VS2012+EF6+Mysql配置心路历程
为了学习ORM,选择了EntityFramework,经历了三天两夜的煎熬,N多次错误,在群里高手的帮助下,终于成功,现在将我的心路历程记录下来,一是让自己有个记录,另外就是让其它人少走些弯路. 我的 ...
- 在 Linux 上使用 Jexus + Mono 建立 Asp.Net 网站.
godaddy 买了个net空间,一点也不好用. 几个G的数据, 上传数据只有几kb , 想用 ssh 登录上去用 wget 下载,也不行 windows的主机貌似没有 ssh 功能... 后来实在忍 ...
- Mono+Jexus部署C# MVC的各种坑
如果你看到这篇文章,先别急着动手,过完一遍,确定是你要的再动手. 别人提到的这里不赘述,只说查了好久才知道的. 1号坑:System.IO.FileNotFoundException Could no ...