NGUI 3.5过程(三)Button button
写在前面:
本文将创建一个主要的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的更多相关文章
- 使用<button></button>标签
使用<button></button>标签一定要记住给它设置type,因为它默认的type=“submit”,会提交表单,设置如下 <button type=" ...
- NGUI制作字体的三种方法
主要参考两篇博文: (1).NGUI制作字体的三种方法 (2).使用位图字体工具BMFont从图片生成自定义字体 1.BMFont下载地址 http://www.angelcode.com/produ ...
- NGUI注册事件的三种方式
1.第一种方式 当一个元素要执行某个方法,而这个方法在此元素赋予的脚本上有,那么直接会调用此方法,但此方法的名称必须是内置的固定名称,例如OnClick,OnMouseOver,OnMouseOut等 ...
- input[type='submit']input[type='button']button等按钮在低版本的IE下面,去掉黑色边框的问题
今天做一个tabs效果的时候,发现上面的button在低版本下会出现黑色的边框,很难看,于是我整理了下几个去掉黑色边框的办法: 1.在button的外层嵌套一个div,设置button的border: ...
- NGUI学习笔记(三):屏幕自适应
我们开发移动端游戏的时候,一般都会选择Constrained/FixedSize的缩放模式来保证图片在不同的分辨率下相对于屏幕的尺寸保持一致,但是对于屏幕自适应来说,这还是不够的,不同的手机存在不同的 ...
- Android ListView嵌套Button,Button事件覆盖item事件解决办法
方法就是修改item布局的xml文件: 在根布局里加上: android:descendantFocusability="blocksDescendants" 然后在按钮布局里加上 ...
- HTML篇之CSS样式:<button></button>按钮变成超链接<a></a>的样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 搞笑的<Button></Button>
<button>竟然默认是submit按钮</button>.........................
- iOS for循环创建button,button的宽度依据上面的文字来自适应.
近期须要使用一个标签页,寻思自己写一个demo. 标签的大小依据上面的文字来自适应大小,须要依据后台返回的数据自己主动换行.没有加入 NSArray *arr = @[@"无知", ...
随机推荐
- 【转】Linux查看CPU和内存使用情况
=====================================top============================================== 在系统维护的过程中,随时可 ...
- Riak VClock
Riak VClock 关于向量时钟的概念.在这里就多讲了,大家能够參照一下Dynamo的论文了解一下,向量时钟在分布式主要用于解决一致性性问题.能够和CRDTs一起看. 以下的源码是參照riak中的 ...
- c语言的lua库编写
gcc编译 gcc -I/usr/local/include/ -L/usr/local/lib/ -lm -o engine_mlisten_lua ./src/engine_mlisten_lua ...
- RMAN数据库恢复之丢失数据文件的恢复
删除某一数据文件:SQL> HOST del D:\app\Administrator\oradata\orcl\USERS01.dbf 启动数据库,提示丢失数据文件4,此时数据库处理MOUNT ...
- oracle Can't connect to X11 window server using ':0.0' /Checking monitor: must be configured to display at least 256 colors解决方法
Can't connect to X11 window server using ':0.0' 解决方法 1. 以oracle 用户登陆X window 或者 2. root 身份执行 # xhost ...
- 为什么所有浏览器的userAgent都带Mozilla
参看下面链接:<为什么所有的浏览器的userAgent都带Mozilla>
- avalon中常用的事件
ms-on-change 相当于失去焦点事件. ms-on-input 相当于watch事件 http://www.runoob.com/jsref/event-oninput.html
- jQuery工具函数下
测试操作 1.判断是否为数组对象 $(function () { //判断是否为数组对象 var arr = [1,2,3,4]; alert($.isArray(arr));//true }); 2 ...
- Oracle数据库中如何选择合适的索引类型 .
索引就好象一本字典的目录.凭借字典的目录,我们可以非常迅速的找到我们所需要的条目.数据库也是如此.凭借Oracle数据库的索引,相关语句可以迅速的定位记录的位置,而不必去定位整个表. 虽然说,在表中是 ...
- Django学习(三) Django模型创建以及操作
在Django中可以建立自己的模型Model,这里对应Java里的实体类,跟数据库表是对应的.其中用到了django.db模块中的models.如下图所示: mysite/news/models.py ...