NGUI学习笔记(二):基础笔记
精灵(Sprite)、图集(Atlas)和贴图(Texture)的区别
图集:由多张小图拼合而成的一张大图,其好处是降低DrawCall的次数、减少载入内存的次数和方便管理同一类型的小图。一般图集都会携带一个配置文件用来记录每张小图的名称和区域信息等。
精灵:图集上的一个小图即为一个精灵。
贴图:比如游戏中的背景图等较大的图片,如果不作为图集的一部分打包,而是直接使用,那么可以称为一个贴图。
标签(Label)和字体(Font)
标签:用来显示文本的控件。
字体:NGUI中存在两种字体。
静态字体:有美术提供美术字或将字体文件(.ttf)中的部分字体抽取出来,然后打包为一个图集,直接使用精灵进行显示的方式。
动态字体:直接导入字体文件(.ttf),只要字体文件中存在的文字都能显示出来。
UIRoot的3种缩放方式
Fiexible/PixelPerfect:像素大小始终不变,即一个100*100的图片在任何的分辨率下都占用100*100的像素。一般PC上会使用这种方式,因为PC端分辨率差异并不大。
Constrained/FixedSize:不关心图片的实际像素大小,而只关心ManualHeight值,这个值如果是1000,那么100高度的图片在任何分辨率下都只占用屏幕1/10的尺寸。一般移动端会使用这种方式,因为移动端分辨率差异较大。
ConstrainedOnMobiles/ FixedSizeOnMobiles:在PC下采用Fiexible/PixelPerfect,在移动端下采用Constrained/FixedSize。
组件的Depth属性
每个控件都有Depth属性,Depth表示控件的渲染顺序,数值高的控件会遮住数值低的控件。
而Plane的深度优先于所有其它控件的深度。位于两个Plane中不同的控件,无论控件的深度是多少,一定是深度高的Plane中的所有控件遮住深度低的Plane中的所有控件。
同样的,每个摄像机也有深度,摄像机的深度控制该摄像机看到的画面的渲染顺序。
总结:摄像机深度>Plane深度>控件深度
UICamera的功能
让带有该组件的摄像机渲染出的物件能够接收NGUI的事件。
UICamera的EventMask属性
EventMask和CullingMask类似,其主要目的是区分出接收事件的层,如果UI的层改变了需要修改这个属性,否则会出现无法接收到事件的情况。
NGUI学习笔记(二):基础笔记的更多相关文章
- https学习笔记二----基础密码学知识和python pycrypto库的介绍使用
在更详细的学习HTTPS之前,我也觉得很有必要学习下HTTPS经常用到的加密编码技术的背景知识.密码学是对报文进行编解码的机制和技巧.可以用来加密数据,比如数据加密常用的AES/ECB/PKCS5Pa ...
- bash shell学习-shell script基础 (笔记)
A chain no stronger than its weakest link. "一着不慎,满盘皆输" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版) Linux ...
- jQuery笔记二——基础/动画
1. jQuery的基础语法: $(selector).action() 2. 很多jQuery的语句放在ready里面 $(document).ready(function(){ // jQuery ...
- MVC3+EF4.1学习系列(二)-------基础的增删改查和持久对象的生命周期变化
上篇文章中 我们已经创建了EF4.1基于code first的例子 有了数据库 并初始化了一些数据 今天这里写基础的增删改查和持久对象的生命周期变化 学习下原文先把运行好的原图贴来上~~ 一.创建 ...
- Mysql 笔记二
Mysql 笔记二 Mysql 笔记二 Table of Contents 1. 前言 2. Master Thread 工作方式 2.1. 主循环(loop) 2.2. 后台循(backgroup ...
- redis相关笔记(二.集群配置及使用)
redis笔记一 redis笔记二 redis笔记三 1.配置:在原redis-sentinel文件夹中添加{8337,8338,8339,8340}文件夹,且复制原8333中的配置 在上述8333配 ...
- NGUI 学习笔记实战之二——商城数据绑定(Ndata)
上次笔记实现了游戏商城的UI界面,没有实现动态数据绑定,所以是远远不够的.今天采用NData来做一个商城. 如果你之前没看过,可以参考上一篇博客 NGUI 学习笔记实战——制作商城UI界面 ht ...
- 【笔记】MySQL的基础学习(二)
[笔记]MySQL的基础学习(二) MySQL 老男孩 一 视图 视图其实就是给表起个别名 1.创建视图 格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS ...
- 学习笔记:CentOS7学习之二十:shell脚本的基础
目录 学习笔记:CentOS7学习之二十:shell脚本的基础 20.1 shell 基本语法 20.1.1 什么是shell? 20.1.2 编程语言分类 20.1.3 什么是shell脚本 20. ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
随机推荐
- AD15高版软件卡不卡,问题解决大讨论
AD高版软件很卡(包括13 14 15版),这是我遇到过的问题,大家都遇到过的问题, 这里我分享一个解决办法:也请给位有什么好的方法也一起分享. 问题1卡:打开AD15软件, 按住鼠标中键 放大 或 ...
- Oracle 列顺序测试
列顺序测试 大家在做表设计的时候通常对表中列的排列顺序没有过多注意,但是其实越常用的列,它的位置越靠前,则查询速度越快. 因为每个block里面存储了row directory (每行数据在块中的位移 ...
- 【一】 sched.h
第一个数据结构体是 task_struct ,这个数据结构被内核用来表示进程,包含其所有信息. 定义于文件 include/linux/sched.h 中,先看看其完整定义 struct task_s ...
- Fast scroller styles
<!-- Fast scroller styles --> <!-- Drawable to use as the fast scroll thumb. --> <att ...
- WinCE启动失败的原因与解决办法分析
本文通过一个真实的嵌入式项目进行说明.文中的嵌入式系统用的是ARM处理器+WinCE平台,项目的目的是要把WinCE平台从旧版本移植到WinCE6.0平台上.但结果是这个WinCE系统在启动的时候经常 ...
- Git版本控制使用介绍
Git是什么? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git与SVN的最主要的区别? Git是分布式的,SVN不是 Git没有一个全局的版本号,而SVN有 ...
- 用shell写个100以内的所有数字之和
#!/bin/bash i=2 while ((i<=100));do j=2 while ((j<=i/2));do if ((i%j==0));then break fi let j+ ...
- jquery 图片无缝切换
想要和园友分享一下学习jquery的经验.总结,更希望园友提出点建议. 第一次写,有不好的地方请多多见谅! 文笔有限,很多时候不知道怎么来描述,唉.硬伤啊!!那只好多做了,贴代码... ok,废话少说 ...
- 5个难以置信的VS 2015预览版新特性
Visual Studio 2015 Preview包含了很多强大的新特性,无论你是从事WEB应用程序开发,还是桌面应用程序开发,甚至是移动应用开发,VS 2015都将大大提高你的开发效率.有几个特性 ...
- Application Pool Identities
Whether you are running your site on your own server or in the cloud, security must be at the top of ...