• 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的一堆控件。


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

        在检视面板中。能够看到,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上。之后。执行:


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

    button点击事件成功响应!


    ps. button显灰(buttondisable)设置

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

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






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

  • 相关阅读:
    计算机图形学学习方法和相关书籍,做游戏,GIS,虚拟现实,三维引擎的都能够看看.
    HDU 1248 寒冰王座(全然背包:入门题)
    android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)
    Oracle varchar 字段排序问题
    Response.AddHeader使用实例
    Unity 3D 文件导入出错
    Sencha app build 出现 missing name after . operator 问题
    TFS(Team Foundation Server)介绍和入门
    较具体的介绍JNI
    Struts2学习笔记1
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4834183.html
Copyright © 2020-2023  润新知