当前位置: 首页 > news >正文

Unity 场景淡入淡出效果

 一. 使用Dotween,建议使用我的方式

   FindObjectOfType<SceneFadeInAndOut>().FadeIn(() =>
        {
            Debug.Log("Fade in MenuStart Scene");
        });

using DG.Tweening;
using System;
using System.Numerics;
using UnityEngine;
using UnityEngine.UI;public class SceneFadeInAndOut : MonoBehaviour
{#region 字段和属性的定义//渐变的速率public float m_fTime = 1f;//RawImage组件RawImage _rawImage;Color blackAlpha0 => new Color(0, 0, 0, 0);#endregionprivate void Awake(){_rawImage = FindObjectOfType<RawImage>();}void Update(){if (Input.GetKeyDown(KeyCode.I)){FadeIn(null);}if (Input.GetKeyDown(KeyCode.O)){FadeOut(null);}}/// <summary>/// 设置场景的淡入/// </summary>public void FadeIn(Action complete){_rawImage.gameObject.SetActive(true);_rawImage.color = Color.black;_rawImage.DOColor(blackAlpha0, m_fTime).SetEase(Ease.InOutQuad).OnComplete(() =>{_rawImage.gameObject.SetActive(false);complete?.Invoke();});}/// <summary>/// 设置场景的淡出/// </summary>public void FadeOut(Action complete){_rawImage.gameObject.SetActive(true);_rawImage.color = blackAlpha0;_rawImage.DOColor(Color.black, m_fTime).SetEase(Ease.InOutQuad).OnComplete(() =>{complete?.Invoke();});}}

 二. https://www.cnblogs.com/MoRanQianXiao/p/7691790.html

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class SceneFadeInAndOut : MonoBehaviour
{#region 单例模式//设置静态的字段来模拟全局的变量(开始为空)private static SceneFadeInAndOut _instance = null;/// <summary>/// 只读属性的设置/// </summary>public static SceneFadeInAndOut Instance{get{//如果一开始的为空的话if (_instance == null){//进行类的实例化的操作_instance = new SceneFadeInAndOut();}//下一个访问的话_instance就不为空直接返回字段return _instance;}}private SceneFadeInAndOut() { }#endregion#region 字段和属性的定义//渐变的速率public float floatColorChangeSpeed = 1f;//RawImage对象public GameObject goRawImage;//RawImage组件private RawImage _rawImage;//屏幕是否要逐渐清晰(默认是需要的)private bool _isSceneToClear = true;//屏幕是否需要逐渐变暗(默认是不需要的)private bool _isSceneToBlack = false;#endregionvoid Awake(){//如果goRawImage不为空的话if (goRawImage){//得到RawImage组件_rawImage = goRawImage.GetComponent<RawImage>();}}void Update(){if (_isSceneToClear){SceneToClear();}else if (_isSceneToBlack){SceneToBlack();}if(Input.GetKeyDown(KeyCode.C)){SetSceneToClear();}if (Input.GetKeyDown(KeyCode.D)){SetSceneToBlack();}}#region 公共方法的定义/// <summary>/// 设置场景的淡入/// </summary>public void SetSceneToClear(){InitToBlack();_isSceneToClear = true;_isSceneToBlack = false;}/// <summary>/// 设置场景的淡出/// </summary>public void SetSceneToBlack(){_isSceneToClear = false;_isSceneToBlack = true;}#endregion#region 私有方法的定义/// <summary>/// 屏幕逐渐清晰(淡入)/// </summary>private void FadeToClear(){//插值运算_rawImage.color = Color.Lerp(_rawImage.color, Color.clear, floatColorChangeSpeed * Time.deltaTime);}/// <summary>/// 屏幕逐渐暗淡(淡出)/// </summary>private void FadeToBlack(){//插值运算_rawImage.color = Color.Lerp(_rawImage.color, Color.black, floatColorChangeSpeed * Time.deltaTime);}/// <summary>/// 屏幕的淡入/// </summary>private void SceneToClear(){FadeToClear();//当我们的a值小于等于0.05f的时候 就相当于完全透明了if (_rawImage.color.a <= 0.05f){//设置为完全透明_rawImage.color = Color.clear;//组件的开关设置为关闭的状态_rawImage.enabled = false;//布尔条件设置为false_isSceneToClear = false;}}private void InitToBlack(){//组件的打开_rawImage.enabled = true;//设置为完全不透明的状态 _rawImage.color = Color.black;//布尔条件当到达指定的阿尔法值得时候设置为false_isSceneToBlack = false;}/// <summary>/// 屏幕的淡出/// </summary>private void SceneToBlack(){//组件的打开_rawImage.enabled = true;FadeToBlack();//当前的阿尔法值大于0.95f的时候 表示已经接近于完全不透明的状态if (_rawImage.color.a >= 0.95f){//设置为完全不透明的状态 _rawImage.color = Color.black;//布尔条件当到达指定的阿尔法值得时候设置为false_isSceneToBlack = false;}}#endregion}//class_end

相关文章:

Unity 场景淡入淡出效果

一. 使用Dotween&#xff0c;建议使用我的方式 FindObjectOfType<SceneFadeInAndOut>().FadeIn(() > { Debug.Log("Fade in MenuStart Scene"); }); using DG.Tweening; using System; using System.Numerics; using UnityEngi…...

快速使用Spring Cache

哈喽~大家好&#xff0c;这篇我们来看看快速使用Spring Cache。 &#x1f947;个人主页&#xff1a;个人主页​​​​​ &#x1f948; 系列专栏&#xff1a;【日常学习上的分享】 &#x1f949;与这篇相关的文章&#xff1a; R…...

Scrum敏捷开发培训内训:提升团队能力和效率的重要途径

在当今软件开发领域&#xff0c;Scrum敏捷开发方法越来越受到重视。Scrum是一种以团队协作为基础&#xff0c;注重灵活性和快速响应变化的方法。 为了帮助团队更好地掌握Scrum敏捷开发&#xff0c;培训变得越来越重要。Scrum敏捷开发方法注重高效协作、快速迭代和持续改进。通…...

kaggle新赛:Optiver 美股价格预测赛题解析

赛题名称&#xff1a;Optiver - Trading at the Close 赛题链接&#xff1a;https://www.kaggle.com/competitions/optiver-trading-at-the-close 赛题背景 证券交易所是快节奏、高风险的环境&#xff0c;每一秒都很重要。随着交易日接近尾声&#xff0c;强度不断升级&#…...

Vue 学习笔记 错误ResizeObserver loop completed with undelivered notifications

环境Vue3 Ts 使用了el-table 后&#xff0c;容易出现如下错误 ERROR ResizeObserver loop completed with undelivered notifications. at handleError (webpack-internal:///./node_modules/webpack-dev-server/client/overlay.js:299:58) at eval (webpack-internal:///./nod…...

Wi-Fi直连分享:Android设备间的高速连接

Wi-Fi直连分享&#xff1a;Android设备间的高速连接 引言 随着无线局域网&#xff08;Wi-Fi&#xff09;的普及和发展&#xff0c;使用Wi-Fi直连技术&#xff08;P2P&#xff09;在没有中间接入点的情况下实现设备间直接互联成为可能。通过Wi-Fi直连&#xff0c;具备相应硬件…...

LeetCode 面试题 05.06. 整数转换

文章目录 一、题目二、Java 题解 一、题目 整数转换。编写一个函数&#xff0c;确定需要改变几个位才能将整数A转成整数B。 示例1: 输入&#xff1a; A 29 &#xff08;或者0b11101&#xff09;, B 15&#xff08;或者0b01111&#xff09; 输出&#xff1a; 2 示例2: 输入&a…...

增强for循环和一般for循环的对比使用

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。个人B站主页热爱技术的小郑 &#xff0c;视频内容主要是对应文章的视频讲解形式。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘…...

云原生之使用Docker部署RSS阅读器Huntly

云原生之使用Docker部署RSS阅读器Huntly 一、Huntly介绍1.1 Huntly简介1.2 Huntly功能2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Huntly镜像五、部署Huntly5.1 创建挂载目录5.2 创建Hun…...

Powershell 实现禁用密码复杂性,空密码

前提条件 开启wmi,配置网卡,参考 实现一键关闭密码策略和远程空密码登录 最近客户需要的一个无法理解的需求,需要远程登录不输入密码,安全性没有了还要实现,没办法客户是上帝,客户怎么开心怎么来都行,安全性问题告知不重视,实际环境不建议一下操作,只要联网你被黑的哦…...

【c语言】详解动态内存管理

目录 关于动态内存分配malloc和calloc函数介绍动态内存回收----freerealloc函数介绍常见的动态内存错误 关于动态内存分配 回想一下我们之前学过的内存开辟方式&#xff1a; int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟10个字节的连续空间在学…...

深度学习概念——端对端

目录 1、端对端是什么2、端对端有什么用3、例子4、引用 在读论文的过程中反复遇到端对端的概念&#xff0c;就需要理解深刻一些。在此将收集到的一些资料拿出来辅以自己的拙见&#xff0c;请大家多多批评指正&#xff01; 1、端对端是什么 在计算机学科中有一种算法叫分治法&a…...

苹果触控笔有必要买吗?平价ipad电容笔推荐

其实&#xff0c;市面上的数码类产品很多&#xff0c;有的侧重于美观&#xff0c;有的侧重于功能&#xff0c;有的侧重于性能。与iPad平板电脑搭配使用的电容笔同样也如此。因此&#xff0c;在选购电容笔时&#xff0c;一定要了解有关电容笔的知识。在购买之前&#xff0c;一定…...

React的高阶函数

1.认识高阶函数 高阶组件 本身不是一个组件&#xff0c;而是一个函数函数的参数是一个组件&#xff0c;返回值也是一个组件 高阶组件的定义 import ThemeContext from "../context/theme_context"function withTheme(OriginComponent) {return (props) > {retur…...

Java8实战-总结34

Java8实战-总结34 重构、测试和调试使用 Lambda 重构面向对象的设计模式观察者模式责任链模式 重构、测试和调试 使用 Lambda 重构面向对象的设计模式 观察者模式 观察者模式是一种比较常见的方案&#xff0c;某些事件发生时&#xff08;比如状态转变&#xff09;&#xff0…...

uniapp项目实践总结(二十四)安卓平台 APP 打包教程

导语:当你的应用程序开发完成后,在上架安卓应用商店之前,需要进行打包操作,下面简单介绍一下打包方法。 目录 准备工作配置项目生成证书打包配置准备工作 在打包之前,请保证你的 uniapp 应用程序编译到安卓手机模拟器的 App 是可以正常运行的,APP 打包分为安卓和 ios 两…...

GeoServer地图服务器权限控制

目录 1下载相关软件 2部署软件 3配置鉴权环节 4Java工程 5测试鉴权 6测试鉴权结果分析 本文章应该会后面试验一个鉴权功能就会发布一系列测试过程&#xff08;GeoServer有很多鉴权方式&#xff09; 1Download - GeoServer 1下载相关软件 进入geoserver官网的下载页面 …...

Python+requests+unittest+excel实现接口自动化测试框架

一、框架结构&#xff1a; 工程目录 二、Case文件设计 三、基础包 base 3.1 封装get/post请求&#xff08;runmethon.py&#xff09; 1 import requests2 import json3 class RunMethod:4 def post_main(self,url,data,headerNone):5 res None6 if heade…...

25807-2020 间脲基苯胺盐酸盐 课堂随笔

声明 本文是学习GB-T 25807-2020 间脲基苯胺盐酸盐. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了间脲基苯胺盐酸盐的要求、采样、试验方法、检验规则以及标志、标签、包装、运输和 贮存。 本标准适用于间脲基苯胺盐酸盐产品…...

苹果手机通讯录联系人如何一键删除? 1个方法轻松解决!

手机通讯录里存了上百个之前公司客户的电话&#xff0c;结果苹果手机不支持一键清空联系人。有什么其他办法可以将这些联系人一次性全部删除吗&#xff1f; 随着时间的增长&#xff0c;手机通讯录中难免会积累许多不再联系的用户或者是已经失效的联系人。对于这些许久不联系的人…...

mnestra:基于ESBuild的极简前端构建工具,速度与体验的完美平衡

1. 项目概述&#xff1a;一个被低估的现代前端构建工具如果你在前端开发领域摸爬滚打超过五年&#xff0c;大概率经历过从 Grunt、Gulp 到 Webpack 的构建工具变迁史。每次工具的迭代&#xff0c;都伴随着配置文件的日益复杂和构建速度的微妙下降。当 Vite 携 ES Module 原生支…...

如何用Sunshine打造个人游戏云:终极自托管游戏串流解决方案

如何用Sunshine打造个人游戏云&#xff1a;终极自托管游戏串流解决方案 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾经梦想在任何设备上畅玩PC游戏&#xff1f;无论是想…...

openpilot自动驾驶系统深度解析:架构剖析与实战指南

openpilot自动驾驶系统深度解析&#xff1a;架构剖析与实战指南 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trending/…...

Midjourney湿版摄影风格实战手册(从胶片化学原理到Prompt工程):含12组经大英博物馆湿版藏品验证的Reference Prompt库

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;湿版摄影的历史溯源与Midjourney风格化转译本质 湿版摄影&#xff08;Wet Plate Collodion Process&#xff09;诞生于1851年&#xff0c;由弗雷德里克斯科特阿彻&#xff08;Frederick Scott Archer&a…...

免费开源鼠标连点器终极指南:5分钟掌握高效自动化技巧

免费开源鼠标连点器终极指南&#xff1a;5分钟掌握高效自动化技巧 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软件界面美观 &#xff0c;…...

DeepMind Lab:强化学习研究的3D视觉仿真平台搭建与实战指南

1. 项目概述&#xff1a;一个被低估的强化学习研究“健身房”如果你在深度强化学习&#xff08;Deep Reinforcement Learning, DRL&#xff09;这个圈子里待过一段时间&#xff0c;或者正试图入门&#xff0c;那么你大概率听说过OpenAI的Gym、Unity的ML-Agents&#xff0c;甚至…...

RFM69无线通信进阶:从基础收发到可靠数据传输系统构建

1. 项目概述&#xff1a;从点对点收发迈向可靠通信在物联网和嵌入式开发领域&#xff0c;无线通信模块是连接物理世界与数字世界的桥梁。RFM69系列模块&#xff0c;特别是工作在433MHz或915MHz等Sub-GHz频段的RFM69HCW&#xff0c;因其出色的抗干扰能力、较远的传输距离以及相对…...

在 1688、阿里国际站上,怎么分清哪些是真工厂、哪些是贸易商?一份采购辨别清单

跨境卖家和采购最常踩的坑&#xff0c;就是把贸易商当成了源头工厂。结果是&#xff1a;报价里多了一手差价、打样要等贸易商再转给后面的厂、出了质量问题没人能进车间整改。 平台上的"工厂认证"“源头工厂”"工厂直供"标签&#xff0c;看起来像是替你做了…...

Cursor Free VIP终极指南:如何一键突破AI编程助手使用限制

Cursor Free VIP终极指南&#xff1a;如何一键突破AI编程助手使用限制 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your…...

Filecoin挖矿硬件怎么选?用Lotus-bench实测RTX 2080 Ti到GTX 1060的密封性能

Filecoin挖矿硬件实战指南&#xff1a;从GPU选型到Lotus-bench深度优化 在Filecoin挖矿生态中&#xff0c;GPU性能直接决定了密封效率和区块奖励获取能力。面对市场上从高端RTX 2080 Ti到入门级GTX 1060的各类显卡&#xff0c;矿工往往陷入选择困境——官方推荐列表中的参数是否…...