前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FPS千锋丨资源、标签的封装和场景淡入淡出效果实现

FPS千锋丨资源、标签的封装和场景淡入淡出效果实现

作者头像
星河造梦坊官方
发布2024-08-14 17:27:15
690
发布2024-08-14 17:27:15
举报
文章被收录于专栏:星河造梦坊专栏

将导入的场景“Demo”复制一份,重命名“FPS_QF”,并在该场景的合适位置添加Camera,完成如下操作

标签的封装

导入资源包后,新建Tags脚本,封装本游戏所有标签。内容如下

代码语言:javascript
复制
using UnityEngine;

public class Tags : MonoBehaviour {

    public const string player = "Player";
    public const string gameController = "GameController";
    public const string enemy = "Enemy";
    //淡入淡出的画布
    public const string fader = "Fader";
    public const string mainCamera = "MainCamera";
}

屏幕渐隐渐现

1、新建空物体,重命名“FadeInOut”,位置归零

2、添加GUI Texture组件,将其颜色设置为黑色。搜索Assets,将swatch_black_dff赋值到其Texture上

3、新建“FadeInOut”脚本,并挂载到FadeInOut物体上,该脚本控制渐隐渐现效果的实现

代码语言:javascript
复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class FadeInOut : MonoBehaviour {

    public float fadeSpeed = 1.5f;
    //表示该场景是否开始,若开始,让屏幕完成渐现效果
    private bool sceneStarting = true;
    private GUITexture tex;

    private void Start()
    {
        tex = GetComponent<GUITexture>();
        //设置tex画布的坐标和大小
        tex.pixelInset = new Rect(0, 0, Screen.width, Screen.height);
    }

    private void Update()
    {
        if (sceneStarting)
            StartScene();
    }

    //屏幕渐现
    private void StartScene()
    {
        FadeToClear();
        if (tex.color.a<0.05f)
        {
            tex.color = Color.clear;
            tex.enabled = false;
            sceneStarting = false;
        }
    }

    public void EndScene()
    {
        tex.enabled = true;
        FadeToBlack();
        if (tex.color.a > 0.95f)
        {
            tex.color = Color.black;
            SceneManager.LoadScene("FPS_QF");
        }
    }

    private void FadeToClear()
    {
        tex.color = Color.Lerp(tex.color, Color.clear, fadeSpeed * Time.deltaTime);
    }

    private void FadeToBlack()
    {
        tex.color = Color.Lerp(tex.color, Color.black, fadeSpeed * Time.deltaTime);
    }
}

效果展示

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 标签的封装
  • 屏幕渐隐渐现
相关产品与服务
标签
标签(Tag)是腾讯云推出的云资源管理工具,您可从不同维度对具有相同特征的云资源进行分类、搜索和聚合,从而轻松管理云上资源。 标签是由标签键和标签值共同组成,您可以为云资源创建和绑定标签
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档