UGUI

图集制作Atlas
精灵图集 在这里插入图片描述-> 在这里插入图片描述
制作图集:

  1. 在这里插入图片描述
  2. 在这里插入图片描述
  3. 选择需要的图片
  4. 点击Create即可形成图集

按钮制作

  1. 创建Sprite,选择Sprite,鼠标右键选择Attach,添加BoxCollider在这里插入图片描述

  2. 选择Sprite,鼠标右键选择Attach,添加ButtoneScript在这里插入图片描述
    注意:如果是通过在unity中AddComponent,将BoxCollider勾选 (自动适应UI大小)在这里插入图片描述
    is trigger勾选在这里插入图片描述
    实现按钮点击事件
    找到按钮在这里插入图片描述-> 把带有脚本的物体放到 在这里插入图片描述
    ->在Method找到要调用的方法在这里插入图片描述

精灵Type
sliced 可以使图片在缩放时中间部分拉伸,边框保持不变.
Tiled 平铺,图片若太小会自动放置多个.
Filled 填充,逐渐出来例如血条效果,技能冷却效果.
Advance 高级 可在图片9宫格设置不同效果

NGUI中文字体
NGUI字体:须先制作预制件 
步骤: 创建空物体  添加NGUI font组件 --> dynamic --> 拖拽字体 --> 制作预制件
unity字体:直接拖拽到Font组件处即可

2D精灵动画

  1. 创建2D精灵unity 2D sprite
  2. 添加 UI2D Sprite Animation组件
  3. 将图片设置为精灵模式,并且为可切割的在这里插入图片描述
  4. 在这里插入图片描述到 ->在这里插入图片描述 ,将图片切割好,Apply。
  5. 最后到 在这里插入图片描述将精灵依次给到相应位置即可。可通过在这里插入图片描述 调节速度。

开关制作

  1. 创建精灵->Attach BoxCollider-> 在这里插入图片描述
  2. 在这里插入图片描述在子集中创建精灵(选择点击开关时显示的图片)
  3. 将子集精灵拖到父级相应位置,
    在这里插入图片描述
  4. StartState是指开关的初始状态。

滑竿制作

  1. 创建Sprite,给深度值较高的精灵,添加BoxCollider,再添加 在这里插入图片描述
  2. 创建Sprite作为子集
    在这里插入图片描述
    Foreground前景图(此处当鼠标拖拽滑竿时,会有伸缩效果)
    Background背景图(固定不动)
    Thum(此处创建一个精灵拖到此处,可形成游标效果显示
    )
  3. Direction滑竿方向

滑竿数值百分比显示

  1. 找到滑动条组件在这里插入图片描述, ,将创建的UILable拖拽到 在这里插入图片描述
  2. 调用UILable.SetCurrentPercent方法

下拉菜单制作

  1. 在背景精灵中添加BoxCollider ,以及 组件在这里插入图片描述
  2. 在这里插入图片描述将需要的下拉菜单选项输入Options中
  3. 将Lable拖拽到在这里插入图片描述 ,(作用:弹出菜单选择的内容将显示在Lable中)。
  4. 在这里插入图片描述默认按钮Labe内容。
    在这里插入图片描述设置菜单按钮自动,向上,向下弹出。

UIPlayerTween组件使用

  1. 创建一个精灵,给精灵添加碰撞,并添加PlayTweenScript组件。
  2. 录制一组Tween动画,录制好后,将Tween动画组件隐藏(之后会通过点击精灵控制这组动画的播放)。
  3. 将需要控制Tween动画的UI放到PlayTweenScript组件的在这里插入图片描述 位置
  4. PlayTweenScript组件中 在这里插入图片描述为触发动画的方式,设置成 在这里插入图片描述为点击触发。
  5. 在这里插入图片描述动画播放的方向:在这里插入图片描述 来回方向播放,在这里插入图片描述 正常方向播放, 在这里插入图片描述相反方向播放。

聊天

  1. 创建输入区域以及显示区域 在这里插入图片描述
  2. 给输入区域添加ChatInput组件 在这里插入图片描述
  3. 给聊天显示区域添加UITextList组件 在这里插入图片描述
  4. 若需要滑动条,可放到ScrollBar位置。

定制滑动区域

  1. 创建背景精灵。
  2. 创建 在这里插入图片描述(可滑动区域)作为背景精灵子集(利于管理)。
  3. 创建物品精灵,作为滑动区域的子集。
  4. 给物品精灵添加BoxCollider以及可在滑动区域滑动组件在这里插入图片描述

若也需要拖拽滑动区域背景时有滑动效果,也可给背景添加碰撞以及滑动区域拖拽滑动组件

滑竿控制滑动效果

  1. 将滑竿拖到场景中 在这里插入图片描述
  2. 将垂直/水平滑竿放到 在这里插入图片描述组件中相应的属性中 在这里插入图片描述(若只需要水平/垂直,只拖拽一种即可)
  3. 若既想实现水平,也想垂直拖拽,不要忘记设置 在这里插入图片描述任意方向滑动。Custom 是自定义滑动方向及偏移量。

精灵拖拽效果

  1. 给物品精灵添加BoxCollider,添加拖拽组件 在这里插入图片描述
  2. 若需要拖拽的精灵在所有UI最前方显示,创建深度值较高的panel并添加在这里插入图片描述

拖拽的物品栏排序

  1. 创建Grid(并注意形成父子关系),然后右键execute在这里插入图片描述
  2. 设置Grid为平行布置还是垂直布置 在这里插入图片描述
    3.在这里插入图片描述 设置物品栏之间间隔。
  3. 在这里插入图片描述如何排序。
  4. 在这里插入图片描述对齐方式。
  5. **是否有平滑动画

留在某个精灵背景上
将背景精灵添加拖拽容器组件 在这里插入图片描述

将停留的物品进行排序

  1. 创建Grid,并拖到容器组件的在这里插入图片描述 位置。
  2. 设置Grid位置以及间隔距离。

滑动条和开关

using UnityEngine;
using System.Collections;

public class UIManager : MonoBehaviour {
    public UISprite backSprite;//背景精灵
    public AudioSource audio;

    /// <summary>
    /// 滑动条
    /// </summary>
    public void SliderFunc()
    {
        audio.volume = UISlider.current.value;//控制音量大小
        print("滑动条数值 : " + UISlider.current.value);
    }
    /// <summary>
    /// 开关
    /// </summary>
    public void ToggleFunc()
    {
        audio.mute = !UIToggle.current.value;//控制背景音效静音/正常播放切换
        print("开关效果 : " + UIToggle.current.value);
    }
	public void Red () {
        backSprite.color = Color.red;
	}
	public void Blue () {
        backSprite.color = Color.blue;
	}
}

背包拖拽排序

using UnityEngine;
using System.Collections;

public class MyDrag : UIDragDropItem 
{
    //拖拽结束时
    //surface拖拽结束时碰到的精灵
    protected override void OnDragDropRelease(GameObject surface)
    {
        base.OnDragDropRelease(surface);
        Transform releaseParent = transform.parent;
        if (surface != null)
        {
            if (surface.tag == "Back"){
                transform.parent = surface.transform;
                transform.localPosition = Vector3.zero;
            }
            else if (surface.tag == "Obj"){
                Transform surfaceParent = surface.transform.parent;
                transform.parent = surfaceParent;
                transform.localPosition = Vector3.zero;

                surface.transform.parent = releaseParent;
                surface.transform.localPosition = Vector3.zero;
            }
        }
        else
            transform.localPosition = Vector3.zero;
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值