UnityNGUI的使用

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

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

uILabel = GetComponent<UILabel>();
        uILabel.text = "Who is your daddy??";
        uILabel.fontSize = 60;
        uILabel.effectStyle = UILabel.Effect.Shadow;

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

    /// <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;
    }
UIEventListener.Get(btnStop).onClick = stopVideo;

给Slider添加OnValueChange的事件

uISlider.onChange.Add(new EventDelegate(silderChange));

onChange在UISlider的父类UIProgressBar中

public List<EventDelegate> onChange = new List<EventDelegate>();

UGUI

Unity官方内置的UI框架

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容