12 - UI界面的制作

版权申明:

  • 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明
  • 更多学习资源请加QQ:1517069595获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)

目标

在这里插入图片描述

  • Logo UI界面的制作
  • UI界面的淡入

Logo UI界面的制作

  • 首先右键创建一个Canvas重命名为UI Root其次在其子节点创建一个Panel重命名为Logo UI并把我们的颜色更改为自己喜欢的颜色即可,例如下图

在这里插入图片描述

上面步骤完成后我们在Panel底下继续创建一个空的对象(Gameobject)重命名为Alpha,并添加Canvas Group组件,这个组件到时候用来控制我们的Logo淡入的效果。
最后我们只需在Alpha的子节点添加一个Image组件和一个Text组件即可,添加完成后,把Image组件选择一张自己喜欢的图片,Text组件写上自己想说的话,然后调整至合适的大小
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pls2ZYap-1602304945105)(/wp-content/uploads/2019/09/QQ图片20190829120501-9.png)]

最后回到我们的Alpha组件找到Canvas Group组件把组件底下的Alpha值设置为0即可。

  • 这样我们的UI界面就搭建完成了!

UI界面的淡入

  • 在我们的Script脚本底下新建一个名为UI Root的脚本并打开,打开后编写如下代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class UIRoot : MonoBehaviour
{
    public RectTransform Logo;//引用LogoUI
    // Start is called before the first frame update
    void Start()
    {
        StartCoroutine(ShowLogo());
    }
    /// <summary>
    /// 一个动画,让透明度慢慢的变不透明
    /// 这是一个协成
    /// </summary>
    /// <returns></returns>
    IEnumerator ShowLogo()
    {   
        //找到Alpha动画节点
        var cg = Logo.Find("Alpha").GetComponent<CanvasGroup>();
        //判断Alpha是否小于0.95,是的话,就一直往不透明(1,0)的差值
        while (cg.alpha < 0.95)
        {
            //一直往不透明(1,0)差值
            cg.alpha = Mathf.Lerp(cg.alpha, 1, Time.deltaTime);
            yield return null;
        }
        cg.alpha = 1;
        yield return new WaitForSeconds(0.5f);
        //到这里,Logo的不透明动画就播放完了

        //下一步,隐藏Logo画面
        Logo.gameObject.SetActive(false);
    }
}
  • 然后把我们的脚本拖给UI Root组件即可
    最后别忘了把LogoUI拖给我们的脚本
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xJx7iH1o-1602304945108)(/wp-content/uploads/2019/09/QQ图片20190829120501-10.png)]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值