前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UnityNGUI的使用

UnityNGUI的使用

作者头像
祝你万事顺利
发布2019-05-28 23:14:01
2K0
发布2019-05-28 23:14:01
举报
文章被收录于专栏:Unity游戏开发

NGUI

做UI的框架,第三方插件

基础组件简介

1.Widget相当于unity中的空物体 2.Anchor锚点(用于做UI自适应) 3.Panel画布 4.ScrollView可滑动区域 5.Grid排版控制行列间距等

屏幕自适应:大小自适应UIRoot缩放模式实现,位置自适应锚点实现。

Collider需要交互的UI都要加Collider Botton按钮 Toggle拖拽框 Solider滚动条

Tween动画相关

AtlasMaker图集制作器 FontMaker字体制作器

UI Root

UIRoot用于缩放UI

ScalingStyle缩放模式:来进行UI大小的自适应Flexible大小不变,Constrained进行大小自适应,ConstrainedOnMobiles只在移动端进行大小自适应. 使用自适应可以在不同分辨率下,UI的相对大小保持不变.

UICamera用于事件监测

让带有这个组件的摄像机渲染出来的物体能够接受NGUI事件 EventMask:事件层遮罩。用来管理相应那些层的物体的事件。

UIPanel提供一个画布

在UIPanel中我们不能将不同的Panel的Depth设置为同一个,否则会出现警告. Alpha控制透明度 Depth控制深度 Clipping剪辑窗口 RenderQ渲染顺序

UISprite先将将图片加载成图集

先选择Atlas在选择其中的Sprite 1.图片模式Type:在有背景框需要拉伸的时候选择Sliced,Tiled将以原图片的大小填满整个Sprite,Filed可以实现技能冷却 2.Filp:来实现反转 3.Widget:中心点,Depth深度值越大能覆盖后面的,Size图片大小,Aspect宽高比例. 4.Anchors:锚点选择Unified,如果我们的UI在某一个遍或者角,我们锚点不能设置4个方向,在中间的将锚点设置为中间 5.depth:深度值不能相同,UIPanel深度值优先于元素的深度值

UILabel

Overflow字的填充方式 Alignment填充方式 Gradient颜色梯度 Effect字体效果 Spacing间距

UIToggle

StartingState初始状态 Group值的Toggle组,来控制一组Toggle

UISlider

Value:设置起始进度百分比 Alpha:控件的透明度 Steps:进度条平均分割的块数 Foreground:进度条设置 Background:背景色设置 Thumb:拖动拇指块设置 Direction:进度条方向 Notify:进度百分比提示,需要绑定一个label

UIScrollView

ContentOrigin:控制panle相对ScrollView的位置 Movement:控制Scrollview滑动的方向 DragEffect:拖动效果 ScrollWheelFactor:鼠标滑轮滚动速度MomentumAmount:滑动后自动滑行距离 RestrictWithinPanel:控制panel会不会画出ScrollView

UIPopupList

Options:设置下拉列表中的元素 Default:默认显示的值 Position:列表显示位置 OnValueChange:用于绑定Label,显示当前的选择值。

Tween动画

UIPlayTween:控制的物体含有两个以上Tween动画的使用使用,或者要控制多个动画中的一部分的时候使用.

AltasMaker打图集

将单个图片制作成一个Altas图集 通常我们将生成的图集(Advanced中)取消勾选GenerateMipMap,来减少图集大小.

FontMaker打字体

将ttf格式的资源拖入Unity,用FontMaker打开 Type:BitMap只能生成预先选择好的字要预先选择size大小,Dynamic可以动态生成.

UISprite
代码语言:javascript
复制
sp = gameObject.GetComponent<UISprite>();
        //设置图集
        sp.atlas = atlas;
        //修改图片
        sp.spriteName = "back";
        //设置图片填充模式
        sp.type = UIBasicSprite.Type.Filled;
        sp.fillDirection = UIBasicSprite.FillDirection.Horizontal;
        sp.fillAmount = 0.5f;
        //设置图片颜色
        sp.color = Color.red;
UILabel
代码语言:javascript
复制
uILabel = GetComponent<UILabel>();
        uILabel.text = "Who is your daddy??";
        uILabel.fontSize = 60;
        uILabel.effectStyle = UILabel.Effect.Shadow;

通过委托事件在NGUI中给Texture添加点击事件 使用UIEventListener的静态方法Get()进行事件的绑定

代码语言:javascript
复制
    /// <summary>
    /// Get or add an event listener to the specified game object.
    /// </summary>
    static public UIEventListener Get (GameObject go)
    {
        UIEventListener listener = go.GetComponent<UIEventListener>();
        if (listener == null) listener = go.AddComponent<UIEventListener>();
        return listener;
    }
代码语言:javascript
复制
UIEventListener.Get(btnStop).onClick = stopVideo;

给Slider添加OnValueChange的事件

代码语言:javascript
复制
uISlider.onChange.Add(new EventDelegate(silderChange));

onChange在UISlider的父类UIProgressBar中

代码语言:javascript
复制
public List<EventDelegate> onChange = new List<EventDelegate>();

UGUI

Unity官方内置的UI框架

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NGUI
    • 基础组件简介
      • UI Root
        • UILabel
          • UIToggle
            • UISlider
              • UIScrollView
                • UIPopupList
                  • Tween动画
                  • AltasMaker打图集
                  • FontMaker打字体
                    • UISprite
                      • UILabel
                      • UGUI
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档