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图片更有震撼力一些,故本文 ...
随机推荐
- [AGC027F]Grafting
题意:给定两棵树,一次操作形如:选一个未被选过的叶子,改变它的一条出边,问能否在第一棵树上做一些操作使得它变成第二棵树,如果能则询问最小操作次数 如果答案不是$n$,那么存在一个点$r$没有被选中过 ...
- 【Matrix-tree定理】【BEST Theorem】hdu6064 RXD and numbers
题意:给你一张有向图,求从1出发,回到1的欧拉回路数量. 先特判掉欧拉回路不存在时的情况. 看这个吧:http://blog.csdn.net/yuanjunlai141/article/detail ...
- mysql 下 计算 两点 经纬度 之间的距离 含具体sql语句
文章转载地址 http://blog.sina.com.cn/s/blog_7bbfd5fd01017d1e.html 感谢作者. 在原文的基础上,我新增了sql语句,方便大家理解 mysql距离计算 ...
- 最简单的flask表单登录
from flask import Flask from flask import request app = Flask(__name__) @app.route('/', methods=['GE ...
- Unity-EasyTouch插件之One Finger
这节课,我们主要讲下单个手指的测试.比如单击啊,双击啊,拖动,单手滑动等. 单击: public class TouchTest : MonoBehaviour { // Subscribe to e ...
- js中setinterval 的相关使用
1.setinterval 方法 setinterval()是定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式. 2.创建一个setinterval 方法 setInterval(s ...
- JS,jquery动态向已经存在的css文件中添加class样式
$("h1,h2,p").addClass("blue") $(".class")addClass("class_name&quo ...
- ylbtech-LanguageSamples-PartialTypes(部分类型)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-PartialTypes(部分类型) 1.A,示例(Sample) 返回顶部 “分部类型 ...
- iOS: 复选框使用---第三方框架SSCheckBoxView-master
在iOS开发中对应用程序进行设置时一般都用UISwitch,偶尔显得单调,这时候你可以选择使用第三方开源类库SSCheckBoxView . SSCheckBoxView是一个可用在iOS上一个复选框 ...
- Delphi中Frame的使用方法(1)
Frame是组件面板上的第一个组件,但不是每个人都知道怎么用它,因为它不像Button和Label一样简单明了.实际上,Frame按钮只是打开一个Frame的列表,如果你没有创建任何的Frame,自然 ...