国内**本用NGUI发游戏UI的实战教程。 书中包括了众多游戏UI设计实战知识,如UI动画、UI随屏幕自适应、跨平台制作UI、UI结构设计、UI代码的设计和优化、背包界面的制作等实战知识 为了解决读者的疑难问题,*后用一章归纳了NGUI常见疑难问题解答,以便读者遇到问题时可以随时参考。 本书不仅讲了NGUI的基础,更是以项目实战为目的,书中涵盖了大量的项目实战中的经验之谈,这对于一个客户端程序员来说,不管他用什么引擎、用什么UI工具来发UI系统,本书都能给他提供帮助,并不会过时。
售 价:¥
纸质售价:¥38.70购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
前言
第1章初识NGUI
1.1 游戏UI开发介绍
1.1.1 什么是游戏UI
1.1.2 UI为何如此重要
1.1.3 UI开发的流程
1.1.4 UI开发的难点
1.2 什么是NGUI
1.2.1 NGUI插件介绍
1.2.2 NGUI的强大优势
第2章NGUI基础
2.1 导入NGUI插件
2.1.1 NGUI版本介绍
2.1.2 NGUI的下载和购买
2.1.3 导入NGUI插件应用
2.1.4 导入常见问题
2.2 认识基本的UI资源
2.2.1 什么是UI精灵(Sprite)
2.2.2 什么是UI图集(Atlas)
2.2.3 什么是UI贴图(Texture)
2.2.4 什么是UI标签(Label)
2.2.5 什么是UI字体(Font)
2.3 制作第一个UI图集
2.3.1 学会解剖UI的资源结构
2.3.2 如何导入切好的美术资源
2.3.3 用Atlas Maker制作图集
2.4 制作第一个UI字体
2.4.1 为什么要制作UI字体
2.4.2 静态字体和动态字体
2.4.3 制作静态字体介绍
2.4.4 制作动态字体介绍
2.5 创建第一个UI
2.5.1 创建一个2D UI
2.5.2 创建一个3D UI
2.5.3 了解UIRoot、UIPanel和UICamera组件
2.6 2DUI和3DUI的工作原理
2.6.1 2DUI的工作原理
2.6.2 3DUI的工作原理
2.6.3 如何判断该选择哪一种UI
2.7 深度(Depth)概念
2.7.1 强化对深度的理解
2.7.2 小心相机的深度
第3章核心组件
3.1 什么是UI控件
3.2 制作精灵(UISprite)
3.2.1 怎样判断是否应该使用精灵
3.2.2 创建精灵
3.2.3 Sprite组件的设置
3.3 制作标签(Label)
3.3.1 怎样判断是否应当使用标签
3.3.2 创建标签
3.3.3 Label的文字设置
3.4 制作UI纹理(UITexture)
3.4.1 什么情况下使用UITexture
3.4.2 创建纹理
3.4.3 纹理的设置
3.5 制作按钮(Button)
3.5.1 怎样判断应该使用按钮
3.5.2 创建按钮
3.5.3 核心组件BoxCollider
3.5.4 核心组件UIButton
3.5.5 制作按钮的放缩动画
3.5.6 制作按钮的偏移动画
3.5.7 制作按钮的旋转动画
3.5.8 添加按钮单击音效
3.5.9 任何事物都可以变成按钮,不仅仅是UI
3.6 制作进度条(UISlider)
3.6.1 怎样判断是否应当使用进度条
3.6.2 创建进度条
3.6.3 核心组件UISlider设置
3.6.4 进度条的BoxCollider说明
3.7 制作输入框(Input)
3.7.1 怎样判断是否应当使用输入框
3.7.2 创建输入框
3.7.3 核心组件Input设置
3.7.4 输入框使用的一些注意事项
3.8 制作滚动视图(ScrollView)
3.8.1 怎样判断是否应当使用滚动视图
3.8.2 创建滚动视图
3.8.3 滚动视图核心组件UIPanel
3.8.4 滚动视图核心组件UIScrollView
3.8.5 创建一个拖动条
3.8.6 拖动条说明
3.8.7 让视图内的内容可以被拖动
3.8.8 制作滚动视图时的注意事项
3.9 制作复选框(Toggle)
3.9.1 怎样判断是否应当使用复选框
3.9.2 创建复选框
3.9.3 复选框的核心组件UIToggle
3.10 制作下拉菜单(PopupList)
3.10.1 怎样判断是否应当使用下拉菜单
3.10.2 创建下拉菜单
3.10.3 显示当前选中的选项
3.10.4 下拉菜单核心组件PopupList
3.10.5 制作下拉菜单的注意事项
第4章UI动画
4.1 常见的两种UI动画介绍
4.1.1 要区分UI动画和UI特效两个概念
4.1.2 关于Tween动画
4.1.3 关于Animation动画
4.2 渐隐渐现动画(透明度动画)
4.2.1 透明度动画的介绍和应用
4.2.2 使用透明度动画TweenAlpha
4.2.3 使用透明度动画的注意点
4.3 颜色变化动画(变色动画)
4.3.1 变色动画的介绍和应用
4.3.2 使用颜色动画TweenColor
4.3.3 使用颜色动画的注意点
4.4 位置变换动画(位移动画)
4.4.1 位移动画的介绍和应用
4.4.2 使用位移动画TweenPosition
4.4.3 使用位移动画的注意点
4.5 旋转变化动画(旋转动画)
4.5.1 旋转动画的介绍和应用
4.5.2 使用旋转动画TweenRotation
4.5.3 使用旋转动画的注意点
4.6 大小变化动画(放缩动画)
4.6.1 放缩动画的介绍和应用
4.6.2 使用放缩动画TweenScale
4.6.3 使用放缩动画的注意点
4.7 Tween动画总结
4.8 动画控制组件UIPlayTween
4.8.1 为什么要用UIPlayTween
4.8.2 动画核心组件UIPlayTween讲解
4.8.3 使用UIPlayTween的注意事项
4.9 动画控制组件UIPlayAnimation
4.9.1 为什么要用UIPlayAnimation
4.9.2 为UI添加Animation组件
4.9.3 动画核心组件UIPlayAnimation讲解
4.9.4 使用UIPlayAnimation注意事项
第5章其他组件
5.1 使用Toggle制作页签
5.1.1 页签的工作原理
5.1.2 一个完整的页签界面
5.1.3 制作两个页签按钮
5.1.4 使用ToggleObjects来记录页签内容
5.1.5 制作页签注意事项
5.2 拖动摄像机来浏览超大界面
5.2.1 拖动相机功能的介绍和应用
5.2.2 核心原理和组件介绍
5.2.3 拖动相机浏览超大界面的注意事项
5.3 使用Grid自动排列UI
5.3.1 自动排列UI的应用
5.3.2 自动排列UI核心组件Grid介绍
5.4 使用DragObject直接拖动物体
5.5 让玩家通过拖动自由改变控件大小
5.6 制作序列帧精灵动画(SpriteAnimation)
5.6.1 什么是序列帧精灵动画
5.6.2 SpriteAnimation组件
第6章NGUI实战进阶
6.1 UI开发核心问题——UI随屏幕自适应
6.1.1 屏幕分辨率对UI适配的影响
6.1.2 主流设备的屏幕分辨率
6.1.3 自适应核心组件Anchor的使用
6.1.4 使用Anchor的注意事项
6.1.5 正式开发UI之前必须明确的几个问题
6.2 UI元素的相对自适应
6.2.1 什么是UI元素的相对自适应
6.2.2 Anchors的介绍及使用
6.2.3 使用Anchors的范例:背景图的全屏适配
6.2.4 使用Anchors的注意事项
6.3 多摄像机同时协作运行
6.3.1 摄像的渲染层的概念
6.3.2 多摄像机协作的应用范围
6.3.3 如何创建多个UI摄像机
6.3.4 多摄像机协作的注意事项
6.4 巧用九宫格以减少UI资源量
6.4.1 项目安装包大小对项目的影响
6.4.2 UI资源量对资源包大小和内存的影响
6.4.3 什么是九宫格UI
6.4.4 如何让美术提供合适的九宫格UI资源
6.4.5 如何在NGUI中划分九宫格
6.4.6 如何使用九宫格UI
6.4.7 去掉Mipmap以进一步降低资源包大小和内存占用
6.5 实战开发中UI资源制作标准
6.5.1 为什么要设定UI资源制作标准
6.5.2 资源制作标准设定建议
6.5.3 程序如何保证UI资源的分辨率不失真
6.5.4 针对各大平台设置单独的尺寸和格式
6.6 UI事件监听的击穿
6.6.1 什么是UI事件监听的击穿
6.6.2 如何避免和解决UI事件监听的击穿
6.6.3 事件监听遮挡的妙用
6.7 开发之前的思考——UI结构设计
6.7.1 什么是UI结构设计
6.7.2 UI结构设计遵循的一些要点
6.7.3 需要的时候,分场景以减轻内存负担
第7章用代码深度控制UI
7.1 代码操作NGUI的原理
7.1.1 物体与组件的概念
7.1.2 怎样用代码操作NGUI
7.1.3 获取组件的几种方法
7.1.4 迅速判断可以修改的成员
7.2 动态加载UI元素
7.2.1 为什么游戏中会用到动态加载UI元素
7.2.2 擅用UI元素的Prefab
7.2.3 将一个物体设置为另一个物体的子物体——NGUITools.AddChild()方法
7.2.4 NGUITools.AddChild()和Instantiate的区别
7.3 擅用EventDelegate事件委托
7.3.1 什么是EventDelegate事件委托
7.3.2 事件委托的用法
7.3.3 哪些地方可以使用事件委托
7.4 巧用EventTrigger组件
7.4.1 什么是EventTrigger组件
7.4.2 EventTrigger用法
7.5 常用组件的功能调用
7.5.1 UILabel
7.5.2 UISprite
7.5.3 UITexture
7.5.4 UIButton
7.5.5 UIGrid
7.5.6 UISlider
7.5.7 UIToggle
7.5.8 UIInput
7.5.9 UIPanel
7.5.10 UICamera
7.6 动画的控制
7.6.1 为什么要把动画单独提取出来
7.6.2 控制Tween动画
7.6.3 关于PlayTween和PlayAnimation
第8章实用案例演示
8.1 角色头像状态栏制作
8.1.1 示意图和需求分析
8.1.2 设计并制作UI
8.1.3 设计并编写代码
8.2 场景加载的进度条界面制作
8.2.1 为什么要做这个界面
8.2.2 异步加载的概念
8.2.3 制作一个单独的加载界面场景
8.2.4 设计并编写代码
8.3 技能快捷栏的制作
8.3.1 示意图和需求分析
8.3.2 设计并制作UI
8.3.3 设计并编写代码
8.4 角色头顶血条的跟随
8.4.1 角色头顶血条的跟随分析
8.4.2 制作血条的UI
8.4.3 设计并编写代码
8.5 NGUI多语言切换的实现
8.5.1 什么是本地化
8.5.2 NGUI本地化的原理
8.5.3 本地化案例演示
第9章常见疑难问题解答
9.1 关于NGUI版本问题
9.2 导入NGUI资源包出错
9.3 如何创建两个UIRoot
9.4 如何让粒子在界面上正确显示
9.5 为什么在父物体上增加透明度动画,子物体没有跟着变化
9.6 为什么动画播放一遍之后无法再次正常播放
9.7 为什么3DUI模式下,UI资源的尺寸Snap后和屏幕的大小比例不一致
9.8 为什么UI不受灯光影响
9.9 为什么3D模型放到UIRoot下就变得看不见了
9.10 为什么UI单击后无法播放音效
9.11 为什么Depth更大的图片反而被Depth小的图片遮住
9.12 怎样判断点中的东西是UI
9.13 为什么Label的文字始终不够清晰、明亮
9.14 为什么创建的物体有BoxCollider却无法接收事件
9.15 为什么改变了控件的父物体,导致了显示层级错乱
9.16 关于ScrollView滑动的问题
笔记栏
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜