博主是跟着视频教程学的,所以最新版的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学习流水账的更多相关文章

  1. NGUI 学习笔记实战——制作商城UI界面

    http://www.cnblogs.com/chongxin/p/3876575.html Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我 ...

  2. Unity3D 装备系统学习Inventory Pro 2.1.2 基础篇

    前言 前一篇 Unity3D 装备系统学习Inventory Pro 2.1.2 总结 基本泛泛的对于Inventory Pro 这个插件进行了讲解,主要是想提炼下通用装备系统结构和类体系.前两天又读 ...

  3. NGUI学习笔记汇总

    NGUI学习笔记汇总,适用于NGUI2.x,NGUI3.x 一.NGUI的直接用法 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加 ...

  4. NGUI 学习笔记实战之二——商城数据绑定(Ndata)

    上次笔记实现了游戏商城的UI界面,没有实现动态数据绑定,所以是远远不够的.今天采用NData来做一个商城. 如果你之前没看过,可以参考上一篇博客   NGUI 学习笔记实战——制作商城UI界面  ht ...

  5. 从一点儿不会开始——Unity3D游戏开发学习(一)

    一些废话 我是一个windows phone.windows 8的忠实粉丝,也是一个开发者,开发数个windows phone应用和两个windows 8应用.对开发游戏一直抱有强烈兴趣和愿望,但奈何 ...

  6. Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸

    依据 Unity插件之NGUI学习(2),创建一个UI Root,在UI Root下创建一个Texture作为背景图,并设置图片,在Wiget下调整大小:然后在UI Root下再创建一个Panel. ...

  7. Unity3D for VR 学习(9): Unity Shader 光照模型 (illumination model)

    关于光照模型 所谓模型,一般是由学术算法发起, 经过大量实际数据验证而成的可靠公式 现在还记得2009年做TD-SCDMA移动通信算法的时候,曾经看过自由空间传播模型(Free space propa ...

  8. Unity3D for VR 学习(8): Unity Shader概述

    从西安到北京高铁上,一位VR老外团队的华人leader对VR技术做了画龙点睛: “3D游戏的核心部分在Render, 国内很多团队美术.程序中间缺失严重.所以3d游戏做不好. VR这块更是至关重要.” ...

  9. Unity3D for VR 学习(7): 360°全景照片

    在VR应用中,有一个相对简单的虚拟现实体验,那就是360°全景照片浏览器, 他可以使得手机拍照的”全景”照片,  得以”恢复”当时拍照的场景全貌,  这个创意的确比单纯的2d图片更有震撼力一些,故本文 ...

随机推荐

  1. 【优先队列】POJ1442-Black Box

    [思路] 建立一个小堆和一个大堆.大堆用来存放第1..index-1大的数,其余数存放在大堆,小堆的堆顶元素便是我们要求出的第index大的数.每次插入一个A(n),必须保证大堆中数字数目不变,故先插 ...

  2. 获取asp.net mvc应用程序的根目录

    如果使用Server.MapPath(“controllerName”)这样取得的是带控制权名称的目录, 所以要取得上一级目标,如:Server.MapPath("../"),这才 ...

  3. Clover 的功能就是给资源管理器加上 Chrome 一样的标签页

    官网下载地址:http://cn.ejie.me/

  4. pca主成份分析方法

    1.应用pca的前提 应用pca的前提是,连续信号具有相关性.相关性是什么,是冗余.就是要利用pca去除冗余. 2.pca的定义 pca是一种去除随机变量间相关性的线性变换.是一种常用的多元数据分析方 ...

  5. c#中的??运算符

    注意啦,c#中的??运算符是和?:运算符是不同的,这两者是有区别的. ??运算符称为null合并运算符,用于定义null值的类型和引用类型的默认值. 只当运算符的左操作数不为 null,此运算符将返回 ...

  6. xfs mount and repair

    sudo mount -t xfs /dev/sdb1 /storage xfs文件系统修复方法 2017年12月03日 10:14:19 阅读数:2749 1. 前言 首先尝试mount和umoun ...

  7. jdo pom

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  8. 可视化Tensorboard图中的符号意义

    可视化Tensorboard图中的符号意义

  9. [置顶] (奇迹冬瓜)坦克大战[MFC框架]

    经过二次整合 重新放出MFC框架下的坦克大战 采用小窗口 多线程 双缓冲 动画帧化 碰撞检测 接口封装 混音 事件延迟等 力求做到代码与美工的双向化 开场动画 界面一 界面二 游戏界面 结束动画 零积 ...

  10. ​Mac触控板常用的手势操作

    ​Mac触控板常用的手势操作 学习了:http://topbook.cc/archives/151   一个手指直接点击,类似Windows中鼠标左键功能,同时在苹果Safari等浏览器中,这个手势还 ...