unity3d之NGUI学习流水账
博主是跟着视频教程学的,所以最新版的u3d是否已经自带这个功能博主没有考究过。
但是视频是2015下半年的教程,当时的u3d还是需要自行导入NGUI包的。
1.首先需要下载NGUI包。点此进入ngui3.9.0下载页
2.下载后将该文件导入Assets,可以直接拖入,也可以在Assets 中右键,Import Package》Custom Package,如下图所示:
ps:可能会提示API Update Required,我选择了No Thanks。

3.将控件栏中默认的Main Camera和Directional Light删除。(在菜单栏中可以找到NGUI菜单项,通过里面的create自行创建内容。)
4.依次点击菜单NGUI》Open》Prefab Toolbar,会出现一个窗口如下图所示,里面提供了很多控件,然后点住窗口名拖到Hierarchy旁边。

5.向Assets文件夹中创建一个Texture文件夹,向其中拖入如下几张图片:
earth:

playButton001:

playButton002:

6.依次点击NGUI》Open》Atlas Maker(图集制作者),然后选择playButton001和playButton002,将其添加入Atlas Maker。然后点击create。如下图:

7.将其命名为Button,存储至Assets下的prefabs文件夹内(如果不存在自行创建),创建完会发现生成了的一个图集,图集长宽尺寸均为2^n,因为这可以达到最大的压缩比例,可以占用最少的空间。
8.NGUI》Create》Sprite。将创建的sprite改名为“play”。(sprite中文名为精灵,其实就是一个game object而已)
此时“play”的预览图如下:

9.在“play”的属性栏中,找到“Add Component》NGUI》Interaction(交互)》Button”,此时运行后“play”精灵不可用呈现灰色。为了让“play”可用,需要添加一个碰撞体。
10.在“play”的属性栏中,找到“Add Component》Physics》Box Collider”,此时再次运行就能查看到效果:鼠标移上去后play会变大。
ps:啥?没效果?那就把Box Collider的Size尺寸变大点就行了!
11.给“play”按钮添加点击事件,即创建一个脚本后拖动到“play”上,运行即可看到运行结果。记住,点击事件,NGUI中规定必须是OnClick,代码如下:
public void OnClick(){
Debug.Log ();
}
12.如果点击后想要调用自定义函数名,或者调用别的对象的方法,可以这么做:
先创建一个新的脚本,将其拖动到“play”上,脚本内容如下:
public void showLog(){
Debug.Log ();
}
然后在“play”的属性表中,有一个OnClick属性栏,将“play”拖进去,然后选择showLog()方法即可。如下图:

运行结果如下图:

unity3d之NGUI学习流水账的更多相关文章
- NGUI 学习笔记实战——制作商城UI界面
http://www.cnblogs.com/chongxin/p/3876575.html Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我 ...
- Unity3D 装备系统学习Inventory Pro 2.1.2 基础篇
前言 前一篇 Unity3D 装备系统学习Inventory Pro 2.1.2 总结 基本泛泛的对于Inventory Pro 这个插件进行了讲解,主要是想提炼下通用装备系统结构和类体系.前两天又读 ...
- NGUI学习笔记汇总
NGUI学习笔记汇总,适用于NGUI2.x,NGUI3.x 一.NGUI的直接用法 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加 ...
- NGUI 学习笔记实战之二——商城数据绑定(Ndata)
上次笔记实现了游戏商城的UI界面,没有实现动态数据绑定,所以是远远不够的.今天采用NData来做一个商城. 如果你之前没看过,可以参考上一篇博客 NGUI 学习笔记实战——制作商城UI界面 ht ...
- 从一点儿不会开始——Unity3D游戏开发学习(一)
一些废话 我是一个windows phone.windows 8的忠实粉丝,也是一个开发者,开发数个windows phone应用和两个windows 8应用.对开发游戏一直抱有强烈兴趣和愿望,但奈何 ...
- Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸
依据 Unity插件之NGUI学习(2),创建一个UI Root,在UI Root下创建一个Texture作为背景图,并设置图片,在Wiget下调整大小:然后在UI Root下再创建一个Panel. ...
- Unity3D for VR 学习(9): Unity Shader 光照模型 (illumination model)
关于光照模型 所谓模型,一般是由学术算法发起, 经过大量实际数据验证而成的可靠公式 现在还记得2009年做TD-SCDMA移动通信算法的时候,曾经看过自由空间传播模型(Free space propa ...
- Unity3D for VR 学习(8): Unity Shader概述
从西安到北京高铁上,一位VR老外团队的华人leader对VR技术做了画龙点睛: “3D游戏的核心部分在Render, 国内很多团队美术.程序中间缺失严重.所以3d游戏做不好. VR这块更是至关重要.” ...
- Unity3D for VR 学习(7): 360°全景照片
在VR应用中,有一个相对简单的虚拟现实体验,那就是360°全景照片浏览器, 他可以使得手机拍照的”全景”照片, 得以”恢复”当时拍照的场景全貌, 这个创意的确比单纯的2d图片更有震撼力一些,故本文 ...
随机推荐
- 【hdu4734】【F(x)】数位dp + 小小的总结一下
(https://www.pixiv.net/member_illust.php?mode=medium&illust_id=65608478) Problem Description For ...
- 【动态规划】POJ3616-Milking Time
[题目大意] 奶牛Bessie在0~N时间段产奶.农夫约翰有M个时间段可以挤奶,时间段[a,b]Bessie能挤到的牛奶量v.奶牛产奶后需要休息R小时才能继续下一次产奶,求Bessie最大的挤奶量. ...
- js处理时间戳
工具类 function add0(m){return m<10?'0'+m:m } function format(shijianchuo) { var time = new Date(shi ...
- PHP与Web页面的交互
1.form表单默认情况下提交数据的方式为get方式. 2.PHP脚本用来处理表单数据的预定义变量是$_GET,$_POST(区分大小写) 代码示例:(特别注意复选框属性name的时候加数组) sim ...
- Codeforces Round #344 (Div. 2) E. Product Sum 维护凸壳
E. Product Sum 题目连接: http://www.codeforces.com/contest/631/problem/E Description Blake is the boss o ...
- 8VC Venture Cup 2016 - Final Round (Div. 2 Edition) C. XOR Equation 数学
C. XOR Equation 题目连接: http://www.codeforces.com/contest/635/problem/C Description Two positive integ ...
- Codeforces Round #127 (Div. 1) D. Brand New Problem 暴力dp
D. Brand New Problem 题目连接: http://www.codeforces.com/contest/201/problem/D Description A widely know ...
- HDU 4642 Fliping game (2013多校4 1011 简单博弈)
Fliping game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- rdlc报表集锦
rdlc报表动态生成实例 http://blog.csdn.net/fwj380891124/article/details/8803844 rdlc报表动态生成公共类 http://blog.cs ...
- Xcode8从相册选图片
使用Xcode8写自己的东西有一段时间了,在使用Xcode8编程时不得不说我特别喜欢改后的默认字体,哈哈,当然默认字体是可以调回去的,只不过默认的字体感觉看起来比以前舒服了,毕竟不会像之前那么”字正腔 ...