Unity NGUI 创建简单的按钮
Unity版本:4.5.1 NGUI版本:3.6.5
注意NGUI版本,网上的大部分教程都是2.x版本的,在步骤上面略有不同,此文适合初学者。
示例:
通过NGUI创建一个背景和按钮。
1.首先创建一个新场景,并保存,在此场景取名为Test:
在Unity主界面上:File — New Scene,然后保存场景,File — Save Scene As.. 在此,场景命名为Test,可以在Unity中看到如下效果:

2.网上的绝大部分教程都说要删除场景中的自带摄像机,即上文左侧图中的 “Main Camere”,但是,感觉没删除也不会有问题,可以看到效果,这里自由选择。接下来通过NGUI开始创建:
NGUI —— Create —— 2D UI :

可以看到效果如下所示:

3、选择UI Root下的Camera,通过NGUI——Create——Anchor创建Anchor,在Anchor下添加一个Panel:
效果如下:

5、接下来添加按钮背景:
打开Widger Wizard:

在界面中点击Add To完成按钮的背景设置:

6、这时候创建一个C#脚本用来响应按钮的点击:
代码如下:
using UnityEngine;
using System.Collections; public class BtnClick : MonoBehaviour { // Use this for initialization
void Start () {
} // Update is called once per frame
void Update () {
} void OnClick()
{
Debug.Log ("xx");
}
}
BtnClick
添加值Sprite,可以看到在点击时不会出现"按钮点击"字样;
7、就需要手动为按钮添加一个碰撞器:
选中Sprite,创建一个碰撞器:

这时再去测试可以看到,点击按钮时会出现"按钮点击"字样。
8、可以为按钮创建Label,通过Widger Wizard为Sprite添加一个Label,可以修改字体大小和颜色:

9、完成一个简单的按钮,效果如下:

Unity NGUI 创建简单的按钮的更多相关文章
- Unity3D 学习 创建简单的按钮、相应事件
选择file -->new project 然后保存到相应的地方 下面是这个刚创建的工程效果图. 然后创建一个C# Script ||定位到最左下角找到 assets --> creat ...
- Unity NGUI 2D场景添加按钮
比如说先添加一个sprite 在sprite加上NGUI的 UI Button 然后重点来了 加上Box Collider 2D(重点:2D 千万不要加 Box Collider) 将Box Col ...
- Unity NGUI中Anchor的用法
unity版本 4.5.1 NGUI版本 3.6.5 通过NGUI中的Anchor设置按钮位置. 1.首先用NGUI创建两个按钮,按钮的创建在Hierachy窗口中必须按如下形式: Anchor用于确 ...
- Unity NGUI 网络斗地主 -界面制作
Unity NGUI 网络斗地主 -界面制作 源文件在群(63438968群共享!) @灰太龙 这一节说一下NGUI的界面摆放,并且教会大家使用NGUI的自适应功能! 在这里感谢@Gamer,是他给我 ...
- Unity NGUI中动态添加和删除sprite
(以后,参考链接和作者将在文章首部给出,转载请保留此部分内容) 参考链接:http://www.narkii.com/club/thread-299977-1.html,作者:纳金网 比巴卜: 参考链 ...
- 在Unity中创建攻击Slot系统
http://www.manew.com/thread-109310-1-1.html 马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册帐号 ...
- Unity NGUI学习
环境 Unity4.3 NGUI v3.68 导入 Project界面->右键->import package->custom package载入安装包即可 untiy4.6用 ...
- unity 编辑器扩展简单入门
unity 编辑器扩展简单入门 通过使用编辑器扩展,我们可以对一些机械的操作实现自动化,而不用使用额外的环境,将工具与开发环境融为一体:并且,编辑器扩展也提供GUI库,来实现可视化操作:编辑器扩展甚至 ...
- [.NET] WebApi 生成帮助文档及顺便自动创建简单的测试工具
==========最终的效果图========== ==========下面开始干活:生成帮助文档========== 一.创建 WebApi 项目 二.找到 HelpPageConfig.cs 并 ...
随机推荐
- [转] 考验你的JavaScript底细
http://sentsin.com/ 尽管今日的JavaScript已经突飞猛进,但JS的许多特性仍然保留,以下题目并不是有意设坑,许多地方将验证你的JS底细,如果错了一半,请别告诉我你从事前端. ...
- ubuntu14.04安装samba、vpn
前言: VPN+SAMBA,能够让你将网上申请到的VPS目录映射成自己电脑的网络驱动器,方便开发. 一.安装samba 来源:http://jingyan.baidu.com/article/00a0 ...
- 第八篇:python高级之多进程
python高级之多进程 python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package ...
- node里如何查看浏览器信息
'use strict'; let http = require(`http`); http.createServer((req, res) => { console.log(req.heade ...
- TabHost理解与使用
一.继承关系 java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.FrameLayout ↳ ...
- 在模型中获取网络数据,刷新tableView
model .h #import <Foundation/Foundation.h> #import "AFHTTPRequestOperationManager.h" ...
- jq 图片裁剪
1.html <div class="jcropbox" style="display: none"> <img src="&quo ...
- 258. Add Digits(C++)
258. Add Digits Given a non-negative integer num, repeatedly add all its digits until the result has ...
- 【BZOJ1012】【树状数组求区间最值】最大数maxnumber
Description 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. 2. ...
- php定时执行任务的几个方法
PHP的实现决定了它没有Java和.Net这种AppServer的概念, 而http协议是一个无状态的协议, php只能被用户触发, 被调用, 调用后会自动退出内存, 没有常驻内存, 就没有办法准确的 ...