写在前面:    

本文将创建一个主要的Button。而且编写脚本,响应点击事件。

欢迎大家纠错、拍砖。原创非常辛苦,如有转载,请注明出处。

Button -- button

在NGUI 3.5 里,Button这个控件,经过了整理。比方更改了创建方式(搜索、拖拽);比方合并了 2.x里的Button和Image Button。个人认为这样是合理的,wxPython的Button,就不分基本button,还是图片button,仅仅是创建时候的參数不同而已(重载)。

1。创建 Widget

假设已经创建过Widget(或者存在UI Root 和Camera)。请忽略此步骤。直接跳到步骤2。否则运行下面步骤:

确保你的项目里已经导入了NGUI(如有不明,请看我写的《NGUI 3.5教程(一)》)。

或者新建一个空白项目。然后导入NGUI。

为了显示label。我们须要新建一个Widget。也就是所谓的小工具。在菜单上点击【NGUI】-->【Create】-->【Widget】。

之后,Hierarchy面板上,会自己主动建立出 UI Root,包含(Camera 、Container)。

2。创建 Button

在NGUI 3.5中,创建Button比較特殊,能够通过【搜索】。然后【拖拽】实现。详细为:

(1)在Project面板中。搜索“Control”。也就是搜索控件。

之后,会发现NGUI的一堆控件。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmdnb25nMmRt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

(2)找到 Simple Button,拖拽到层级面板以下。我这里把它拖拽到Container以下了。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmdnb25nMmRt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

在检视面板中。能够看到,Simple Button默认有4个组件:

Transform 作为Unity最主要的组件。这里不再做解释。

UIScript (Script) 是NGUI默认挂载在Button上的脚本,主要是指定图集(Atlas)、深度等操作。

UIButton(Script) 是NGUI默认挂载在Button上的脚本,主要是指定button状态的,比方普通(Normal)、悬停(也称徘徊、经过。Hover)、按下(Pressed)、禁用(Disabled)。

Box Collider 是默认挂在button上的一个盒碰撞器。其作用是使Button控件具有碰撞属性。NGUI中事件的触发都须要对象具有碰撞属性。

(3)通过Label的Text属性,能够给简单的button改文字。

这里我给改成 Button-1。

3。编写脚本。处理 Button 点击事件

在Project面板中,新建一个Scripts 目录,然后右键-->【Create】-->【C# Script】,创建一个C# 脚本。取名为TestButton.cs:

using UnityEngine;
using System.Collections; public class TestButton : MonoBehaviour { // Use this for initialization
void Start () { } void OnClick () {
Debug.Log("OK! Get the click!");
}
}

保存脚本。然后把这个脚本拖拽到层级面板的 Control - Simple Button上。之后。执行:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmdnb25nMmRt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

好,点击button会,会发现信息打印!

button点击事件成功响应!

ps. button显灰(buttondisable)设置

this.GetComponent<UIButton> ().isEnabled = false;

运行后,会自己主动调用disable状态时的颜色(比方默认的浅灰色)。并禁用button。

版权声明:本文博主原创文章。博客,未经同意不得转载。

NGUI 3.5过程(三)Button button的更多相关文章

  1. 使用<button></button>标签

    使用<button></button>标签一定要记住给它设置type,因为它默认的type=“submit”,会提交表单,设置如下 <button type=" ...

  2. NGUI制作字体的三种方法

    主要参考两篇博文: (1).NGUI制作字体的三种方法 (2).使用位图字体工具BMFont从图片生成自定义字体 1.BMFont下载地址 http://www.angelcode.com/produ ...

  3. NGUI注册事件的三种方式

    1.第一种方式 当一个元素要执行某个方法,而这个方法在此元素赋予的脚本上有,那么直接会调用此方法,但此方法的名称必须是内置的固定名称,例如OnClick,OnMouseOver,OnMouseOut等 ...

  4. input[type='submit']input[type='button']button等按钮在低版本的IE下面,去掉黑色边框的问题

    今天做一个tabs效果的时候,发现上面的button在低版本下会出现黑色的边框,很难看,于是我整理了下几个去掉黑色边框的办法: 1.在button的外层嵌套一个div,设置button的border: ...

  5. NGUI学习笔记(三):屏幕自适应

    我们开发移动端游戏的时候,一般都会选择Constrained/FixedSize的缩放模式来保证图片在不同的分辨率下相对于屏幕的尺寸保持一致,但是对于屏幕自适应来说,这还是不够的,不同的手机存在不同的 ...

  6. Android ListView嵌套Button,Button事件覆盖item事件解决办法

    方法就是修改item布局的xml文件: 在根布局里加上: android:descendantFocusability="blocksDescendants" 然后在按钮布局里加上 ...

  7. HTML篇之CSS样式:<button></button>按钮变成超链接<a></a>的样式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 搞笑的<Button></Button>

    <button>竟然默认是submit按钮</button>.........................

  9. iOS for循环创建button,button的宽度依据上面的文字来自适应.

    近期须要使用一个标签页,寻思自己写一个demo. 标签的大小依据上面的文字来自适应大小,须要依据后台返回的数据自己主动换行.没有加入 NSArray *arr = @[@"无知", ...

随机推荐

  1. 对数组元素进行排序的方法总结(利用C++)

    首先,对数组元素进行排序方法总结为以下两类: 一.简单排序算法(时间复杂度O(n*n)) 1.插入排序 2.选择排序 3.交换排序,即冒泡排序 二.先进排序算法(时间复杂度O(n*logn)) 1.快 ...

  2. js面向对象编程:if中能够使用那些作为推断条件呢?

       在全部编程语言中if是最长用的推断之中的一个.但在js中究竟哪些东西能够在if中式作为推断表达式呢? 比如怎样几行,仅仅是少了一个括号.真假就全然不同.究竟表示什么含义呢 var obj={}; ...

  3. MediaPlayer本地播放流程解析(一)

    应用场景: MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setOnCompletionListener(new OnComplet ...

  4. 如何彻底解决jsp页面中文乱码及数据库乱码

    最近自己闲做一个小项目,搭建环境框架SSH+MySQL数据库,遇到一个问题:jsp页面中文显示乱码,数据库插入数据和更新数据时中文也显示乱码,后来在网上找了许多解决方法,还是折腾了两天才把问题解决,下 ...

  5. nginx : TCP代理和负载均衡的stream模块

    一直以来,Nginx 并不支持tcp协议,所以后台的一些基于TCP的业务就只能通过其他高可用负载软件来完成了,比如Haproxy. 这算是一个nginx比较明显的缺憾.不过,在1.90发布后这个认知将 ...

  6. Android服务端本地窗口FramebufferNativeWindow

    Android窗口系统 我们知道Android系统采用OpenGL来绘制3D图形,OpenGL ES提供了本地窗口(NativeWindow)的概念,无论是在Android平台中还是其他平台中,只要实 ...

  7. ios ColorLUT滤镜

    通过这种方格图片实现滤镜 代码: "CIFilter+ColorLUT.h" "CIFilter+ColorLUT.m" #import "CIFil ...

  8. WEB标准:标准定义、好处、名词解释、常用术语、命名习惯、浏览器兼容、代码书写规范

    1. WEB标准是什么? “WEB标准”是一系列标准的总称.一般的误区经常把WEB标准说成DIV+CSS.准确的说法应该是:采用W3C推荐的WEB标准中的XHTML1.1结合CSS2.0 样式表制作页 ...

  9. HTML5 自定义属性 data-*介绍

    在HTML5之前HTML4我们也可以自定义属性通过setAttribute去设置或者直接写在HTML标签里面那么HTML5新增data-*(*可以替换成你喜欢的任意名字)属性有什么用呢? 更便的捷操作 ...

  10. 为什么JavaScript函数中的参数前面不能加var

    首先这里是JavaScript的语法规则. 其次在调用function()函数的时候参数时外部传入的.在传入之前就已经被声明了.没必要在函数参数里声明. 如果想要在函数里用新的参数 function( ...