接下来我们创建一个Label,NGUI->Open the Widget Wizard,打开widgetTool对话框,在Template中选择Label,确定AddTo右侧选项为panel,点击,Add To完成Label创建。

1.Label属性窗口如图

1.下面的节奏可能有点快,大家可以先熟悉一下上面讲的流程,再进行下面的学习。接下来我们依次创建Button和Input,因为这两个选项差不多,我们放一块讲,在WidgetTool窗口中,他们都需要选择一个Background,这里和选择Spirit一样。
我们先看Input

它主要包括三个物体,一个带有UIInput代码和BoxCollider的物体,一个Background和一个Label。这里的Background就是刚才讲的Sprite,Label就是上节讲的label。这两个我们都熟悉了,我们主要看Input上面的UIInput属性

Label:默认为空,也就是会自动识别子物体Label。
Max Chars最大字符数,默认为0,表示不限
Carat Char 激活状态下默认字符
Type 字符类型,在移动平台下,可以激活不同键盘
IsPassword 是否为密码,勾选显示为星号
AutoCorrect 自动纠正
UseLabelText At Start 使用Label的字符为输入字符开始,如果勾选,则以Carat Char字符为开始
Active Color 字符激活状态颜色
SelectOnTab,当Input激活状态下,按tab键要选择的物体,例如,填写完该Input后可能要点击按钮输入,这时候我们如果设置SelectOnTab 物体为要按的按钮,在按下Tab键后会自动选择该按钮。

Event Reciever事件接收物体,和下面的functionname 合并起来用,Event Reciever物体上对应的代码如果有和function name相同名称的函数,则当我们在Input激活下按回车键的时候会激发该方法。不知道这样解释能不能理解?

按钮:接下来我们看按钮,按钮结构和Input类似如图

也是包括一个background和一个Label物体,这两个大家都熟悉了,不用讲了。
我们看Button,它上面包括一个用于接收碰撞信息的Box Collider ,一个UIbutton,一个用于缩放的UIButtonScale,一个用于偏移的UIButtonOffset,一个用于播放声音的UIButton Sound。我们可以发现,Button只能更改鼠标滑过和点击的颜色,而不能做出鼠标滑过很复杂的效果,如果我们想要鼠标滑过和点击显示不同的图片,我们该用什么呢?答案就是ImageButton,它比Button强大的地方在于它可以让我们分别选择鼠标滑过,按下时候显示的图片。给我们更多的灵活性。

参数解释如图

示例:(结合Button和Input创建一个登陆界面)

1.创建一个NGUI 2D UI,在Panel节点下创建两个Input和一个Button,方法参考上述步骤。创建完成的效果如图

2.调节Input大小,注意这里首先要调节Input节点下的Background大小,然后再根据Background大小调节根节点下的BoxCollider大小和位置。更改Input名称,第一个我们改为UserName,第二个我们改为Password,并勾选UIInput属性中的IsPassword,设置
Password的SelectionOnTab物体为Button按钮。
新建一个C#脚本Test.cs
添加以下函数
public UIInput username;
public UIInput password;
void OnSubmit()
{
Debug.Log("Login with UserName: " +username.text+"Password:" +password.text);
}

3.将脚本赋给 Main Camera,然后设置 Password的Event Receiver物体为MainCamera。
 
4.给Button 添加Button Message脚本(该脚本可以调用Target物体上的名称和FunctionName一致的没有参数的函数):选择Button,点击Component->NGUI->Interaction->Button Message.设置 Button Message的target为Main Camera,FunctionName为OnSubmit。
 
5.运行程序,在Username和Password中输入一些内容,然后回车,查看控制台输出内容,或者在输入password输入之后按下Tab键,然后回车查看效果。可以看到控制台输出了我们输入的用户名和密码。
 
声明: 本文由(zqcyou)原创编译,转载请保留链接: NGUI系列教程二

NGUI系列教程二的更多相关文章

  1. CRL快速开发框架系列教程二(基于Lambda表达式查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  2. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  3. Android Studio系列教程二--基本设置与运行

    Android Studio系列教程二--基本设置与运行 2014 年 11 月 28 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处! 上面一篇博客,介绍了Studio的 ...

  4. NGUI系列教程五(角色信息跟随)

    在一些网络游戏中,我们常常可以看到角色的上方显示着角色的名称,等级,血量等信息.它们可以跟随角色移动,并且可以显示和隐藏.今天我们就来学习一下这些功能的实现方法.1. 新建unity工 程,导入NGU ...

  5. NGUI系列教程四(自定义Atlas,Font)

    今天我们来看一下怎么自定义NGUIAtlas,制作属于自己风格的UI.第一部分:自定义 Atlas1 . 首先我们要准备一些图标素材,也就是我们的UI素材,将其导入到unity工程中.2. 全选我们需 ...

  6. NGUI系列教程三

    接下来我们再来看Progress Bar和Slider,对比参数我们可以发现,Progress Bar和slider的明显区别在于slider多一个Thumb选项,这里的Thumb就是我们拖动的时候点 ...

  7. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...

  8. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (初级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (初级) 企业库加密应用程序模块提供了2种方 ...

  9. Fastify 系列教程二 (中间件、钩子函数和装饰器)

    Fastify 系列教程: Fastify 系列教程一 (路由和日志) Fastify 系列教程二 (中间件.钩子函数和装饰器) 中间件 Fastify 提供了与 Express 和 Restify ...

随机推荐

  1. iOS 手动打造JSON Model转换库

    前一段时间学习了Runtime,对类和对象的结构,和一些消息转发有一些自己的理解,现在希望简单的应用下,就决定自己写一个简单的JSON与Model的相互转化,现在总结下. 建议查看 参考资料 :Run ...

  2. android百度地图定位开发

    一.activity import android.app.Activity; import android.graphics.Point;import android.graphics.PointF ...

  3. ElasticSearch Search API 简介

    REST request URI curl 'localhost:9200/bank/_search?q=*&pretty' 1. localhost:9200/bank/_search,以 ...

  4. CentOS7安装RabbitMQ集群

    实验环境 RabbitMQ 集群 server1.example.com    IP: 10.10.10.11    Node: diskserver2.example.com    IP: 10.1 ...

  5. [引]ASP.NET MVC 4 Content Map

    本文转自:http://msdn.microsoft.com/en-us/library/gg416514(v=vs.108).aspx The Model-View-Controller (MVC) ...

  6. Android学习(一) - Activity

    好久不写博客了,自上次写到现在已经一年多了,写这东西其实坚持下来就好了,将自己学的东西一点点写出来成为日后的积累查阅的资料.最近不是特别忙,抽点时间学学移动开发. Android组件中常用的四大组件 ...

  7. C语言的一些误用和知识总结

    现在学嵌入式的话,最主要是要把C语言熟悉,比如指针,链表,共用体,结构体等,还是得听老师的话.. 在学习单片机的时候才真正知道C语言是什么它是来干什么的~但是C语言用到嵌入式只是它小小的一部分他的应用 ...

  8. C#控制台输入

    学习C语言后,在学习C#会有一个很不适应的小毛病.那就是在C语言里面你可以在一行输入好几个数字或是字母然后分别赋给相应的变量.可是在C#里面就不一样了,它只能读取一行.要实现一个一个变量赋值那就只有一 ...

  9. [java小笔记] 关于数组内存管理的理解

    数组是大多数编程语言都提供的一种复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组,java语言的数组变量时引用类型的变量,因此具有java引用变量的特性.在使用数组之前必须对数组对象 ...

  10. Hive over HBase和Hive over HDFS性能比较分析

    http://superlxw1234.iteye.com/blog/2008274 环境配置: hadoop-2.0.0-cdh4.3.0 (4 nodes, 24G mem/node) hbase ...