ngui 代码创建button

2015年01月20日 10:42 0 点赞 0 评论 更新于 2025-11-21 14:54

本文将分享如何使用代码在 NGUI 中创建 Button 的效果,以下是具体实现的代码示例。

代码示例

using UnityEngine;
using System.Collections;

public class CreatButton : MonoBehaviour
{
// 按钮预制体
public GameObject buttonPrefab;

// 初始化方法,在脚本实例被启用时调用
void Start ()
{
// 可在此添加其他初始化逻辑
}

// 更新方法,每帧调用一次
void Update ()
{
// 可在此添加每帧执行的逻辑
}

// 创建新按钮的方法
void CreatNewBotton()
{
// 实例化按钮预制体
GameObject button = Instantiate(buttonPrefab, transform.position, Quaternion.identity) as GameObject;
// 设置按钮的父对象
button.transform.parent = transform;
// 设置按钮的本地缩放
button.transform.localScale = new Vector3(1, 1, 1);
// 立即重新定位 UIGrid 组件中的元素
gameObject.GetComponent<UIGrid>().repositionNow = true;
}
}

代码解释

  1. 命名空间引用

    • using UnityEngine;:引入 Unity 引擎的核心命名空间,提供了许多常用的类和方法。
    • using System.Collections;:引入 System.Collections 命名空间,用于处理集合相关的操作。
  2. 类定义

    • public class CreatButton : MonoBehaviour:定义了一个名为 CreatButton 的公共类,继承自 MonoBehaviour,这是 Unity 中脚本的基类。
  3. 成员变量

    • public GameObject buttonPrefab;:声明了一个公共的 GameObject 类型的变量 buttonPrefab,用于存储按钮的预制体。
  4. 方法

    • void Start ():初始化方法,在脚本实例被启用时调用,可在此添加一些初始化逻辑。
    • void Update ():更新方法,每帧调用一次,可在此添加每帧执行的逻辑。
    • void CreatNewBotton():创建新按钮的方法,具体步骤如下:
    • 使用 Instantiate 方法实例化按钮预制体,并将其赋值给 button 变量。
    • 设置按钮的父对象为当前对象,通过 button.transform.parent = transform; 实现。
    • 设置按钮的本地缩放为 (1, 1, 1),即保持原始大小。
    • 获取当前对象的 UIGrid 组件,并将其 repositionNow 属性设置为 true,以立即重新定位 UIGrid 中的元素。

通过以上代码,你可以使用代码在 NGUI 中创建按钮,并对其进行一些基本的设置。