美文网首页
如何使用NGUI(初级教程)

如何使用NGUI(初级教程)

作者: ElfACCC | 来源:发表于2018-09-15 18:26 被阅读238次

    1)重置uilabel的中心点(label中的文字左对齐):widget面板中修改pivot(overflow设置为resizefreely)

    2)在固定区域内显示一段文字

    3)AtlasMaker制作图集  

    在NGUI下open Atlas Maker  新建一个图集 选中texture中的图片进行导入操作,增 直接选中图片,删 点八叉 生成的图集放在新建的Atlasmaker文件夹中,包含有三个文件,mat,prefab和png

    4)UISprite显示图片

    创建UISprite组件,NGUI-Create-Sprite 

    选择图集

    5)UISprite 面板属性

    Sliced:九宫模式,适用于按钮背景图处理,不规则的背景图,先选择sliced的type ,再点击选中图片的edit进行切割

    filled:进度模式 ,可展现读条动画

    6)UILabel和UISprite制作

    先新建NGUI的2D根节点,在UI Root下(紫色框内)右键添加背景Sprite,在背景Sprite上右键添加他的sprite和label child 

    7)使用代码动态创建UI Sprite UI物体

    using UnityEngine;

    using System.Collections;

    public class CreateUISprite : MonoBehaviour {

        //使用代码动态创建UI Sprite UI物体

        private Transform m_Transform;

    void Start () {

            m_Transform = gameObject.GetComponent<Transform>();//查找进行赋值

            //创建(实例化)一个GO对象

            GameObject uiSprite = new GameObject("ElfAC");

            //将uisprite设置为UI Root的子物体

            uiSprite.GetComponent<Transform>().SetParent(m_Transform);

            //重置scale

            uiSprite.GetComponent<Transform>().localScale = Vector3.one;

            //添加组件

            UISprite sprite = uiSprite.AddComponent<UISprite>();

            //读取图集 Resources.Load<T>("")该api需要 下面的名字对应的资源存放在Resources这个文件夹中

            UIAtlas atlas = Resources.Load<UIAtlas>("GameAtlas") ;

            //给组件指定图集

            sprite.atlas = atlas;

            //给组件指定图片

            sprite.spriteName = "11000414";

    }

    void Update () {

    }

    }

    8)UI Button 面板控制

    1、按钮制作

    先创建一个2D UI面板  添加UI Sprite 来展现一张图片或者一段文字 ;

    给ui图片添加box collider组件,确定可以点击的区域(右键 attach找);

    右键attach添加button script 完成

    ui button面板

    9)UIButton代码控制

    1、按钮点击事件绑定

    法一:面板属性栏绑定

    ①创建一个代码文件,定义一个公开的方法,挂载到一个游戏物体上。

    ②将该脚本拖拽到UIButton的OnClick事件上。

    法二:代码绑定

    ①创建一个代码文件,挂载到按钮物体上(同法一)。

    ②定义一个叫做OnClick()的方法。

    using UnityEngine;

    using System.Collections;

    public class MyButton : MonoBehaviour {

        public void ButtonClick()

        {

            Debug.Log("我被点击了........");

        }

        private void OnClick()

        {

            Debug.Log("代码绑定的点击.......");

        }

    }

    2、按钮交互声音

    ①Attach-->Play Sound Script添加组件

    ②Audio Clip指定一个声音文件

    ③指定Trigger出发该声音播放的时间,常用的是OnClick。

    10)UI动态加载

    1、将制作好的UI面板拖拽成为一个Prefab资源,放到Resources文件夹下;

    2、使用Resources.Load()将该资源加载到内存中;

    3、实例化该UI资源对象,放到UIRoot下完成显示;

    相关API:NGUITools.AddChild(父对象,子对象);

    NGUI提供的一个实例化物体,设置子物体的一个内置函数,操作UI尽量使用该NGUI封装函数。

    using UnityEngine;

    using System.Collections;

    public class UIManager : MonoBehaviour {

        private GameObject prefab_Info;

    void Start () {

            prefab_Info = Resources.Load<GameObject>("Info");

            NGUITools.AddChild(gameObject, prefab_Info);

    }

    }

    相关文章

      网友评论

          本文标题:如何使用NGUI(初级教程)

          本文链接:https://www.haomeiwen.com/subject/khxtnftx.html