unity,如何通过协程,将物体的颜色逐渐变浅,慢慢消失

2023-11-14

介绍

unity,如何通过协程,将物体的颜色逐渐变浅,慢慢消失


方法

  IEnumerator Stop()
    {
        while (sprite.color.a > 0)
        {
            sprite.color = new Color(sprite.color.r, sprite.color.g, sprite.color.g, sprite.color.a - fadeSpeed);
            yield return new WaitForFixedUpdate();
        }
    }

这段代码是一个协程函数,作用是实现物体的渐隐效果,即将物体的透明度逐渐降低至 0,使物体逐渐消失。

具体来说,这个协程函数使用了一个 while 循环,循环条件是物体当前的透明度(即 sprite.color.a)大于 0。在每次循环中,将物体的透明度减去一个固定的值 fadeSpeed,从而实现物体的渐隐效果。

在循环中,使用 sprite.color 属性来修改物体的颜色,其中 sprite 是物体上的 SpriteRenderer 组件。使用 new Color 创建一个新的颜色对象,保留原来的红色分量 r 和绿色分量 g,将蓝色分量 b 设为和绿色分量 g 相同,透明度分量 a 减去 fadeSpeed,从而实现逐渐降低透明度的效果。

在循环体的最后,使用 yield return new WaitForFixedUpdate() 让协程函数暂停执行一帧,等待下一帧开始时再继续执行循环体中的代码。这样可以确保代码在固定时间步长之后执行,避免了在每一帧之间重复执行代码的问题,提高了代码的性能和稳定性。

当物体的透明度减少到一定程度(即 sprite.color.a 小于等于 0)时,while 循环结束,协程函数也就结束了。

总的来说,这段代码实现了物体的渐隐效果,使物体的透明度逐渐降低至 0,从而实现了物体的消失效果。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity,如何通过协程,将物体的颜色逐渐变浅,慢慢消失 的相关文章

  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap
  • Unity Shader入门精要第七章 基础纹理之遮罩纹理

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 一 实践 参考 前言 遮罩纹理 mask texture 是本章要介绍的最后一种纹理 它非常有用 在很多商业游戏中 都可以见到它的身影 那么什么是遮罩呢 简单来讲 遮罩允许我们
  • UnityVR--组件3--Line Renderer--线性渲染

    目录 线性渲染组件简介 绘制线条Line Renderer组件介绍 绘制拖尾Trail Renderer组件介绍 应用1 使用Line Renderer绘制线段 应用1实现 使用系统工具或自定义工具绘制线段 应用2 Trail Render
  • GooglePlay提审警告(com.google.android.gms:play-services-safetynet:17.0.0)

    1 Goole在今年6月份出的新政策 不在使用safetynet 而使用Play Integrity API 2 项目本身没有使用过safetynet 3 使用了firebase 查阅资料 解决方案如下 implementation pla
  • unity中创建询问弹出窗口

    在开发过程中进程会遇到需要弹出一个窗口询问用户是否进行的操作 今天就来制作一个这样弹出窗口 然后根据弹出窗口的选择内容不同进行不同的操作 本例中主要是为了删除一个数据 而在删除数据操作前需要得到用户的一个确认操作 这里面主要用到了Notif
  • unity工程崩溃资源找回

    1 Unity死机未保存场景 当你在Unity中编辑场景 突然死机时 可以在项目文件目录中找到Temp文件夹 双击文件夹 找到 Backupscenes文件夹 把后缀为 backup的文件后缀改为 unity 然后拖进Unity的Proje
  • 【IMGUI】 各种辅助类 EditorGUIUtility、EditorUtility、GUIUtility、GUILayoutUtility

    EditorGUIUtility class in Editor 继承自 GUIUtility EditorGUI 的各种辅助程序 EditorGUIUtility currentViewWidth 我尝试打印了下这个值和position
  • Unity 键盘控制人物移动——之输入方式代码的编写

    键盘输入 控制人物移动 在我们制作游戏中最常见的需求之一就是使用键盘移动游戏角色 那么我们首先需要获取键盘输入 以下提供两种方法获取键盘 这里尽量通过截图解释让大家理解代码的含义 GetInput void FixedUpdate Move
  • Unity打开工程时卡住的问题

    自从Unity升级了一个版本后 Unity打开工程卡住的问题越来越严重了 具体表现为 选择工程后 Unity窗口消失 但进程还在 有时候等个几分钟能出来 有时候等10分钟都不见得能出来 直观感受上看 似乎是Unity加载工程的时候某一步卡了
  • 【原神游戏开发日志1】缘起

    原神游戏开发日志1 缘起 版权声明 本文为 优梦创客 原创文章 您可以自由转载 但必须加入完整的版权声明 文章内容不得删减 修改 演绎 相关学习资源见文末 大家好 最近看到原神在TGA上频频获奖 作为一个14年经验的游戏开发行业的老兵 我就
  • 【Unity】如何让Unity程序一打开就运行命令行命令

    背景 Unity程序有时依赖于某些服务去实现一些功能 此时可能需要类似打开程序就自动运行Windows命令行命令的功能 方法 using UnityEngine using System Diagnostics using System T
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • U3D游戏开发中摇杆的制作(UGUI版)

    在PC端模拟摇杆 实现玩家通过控制摇杆让玩家移动 以下是完整代码 using System Collections using System Collections Generic using UnityEngine using Unity
  • 游戏开发常见操作梳理之NPC药品商店系统(NGUI版)

    后续会出UGUI Json的版本 敬请期待 游戏开发中经常会出现药品商店 实际操作与武器商店类似 甚至根据实际情况可以简化设置 废话不多说 直接上代码 药品商店的源码 using System Collections using Syste
  • 游戏开发之常见操作梳理——武器装备商店系统(NGUI版)

    游戏开发中经常出现武器商店 接下来为你们带来武器装备商店系统的具体解决办法 后续出UGUI Json版本 敬请期待 武器道具的具体逻辑 using System Collections using System Collections Ge
  • 游戏开发常见操作梳理之角色选择一

    进入游戏后 我们经常会进入角色选择的界面 通常是左右两个按钮可以更改角色供玩家选择 对于这种界面我们通常使用数据持久化将角色信息存储起来 接下来的笔记中 我将使用自带的数据持久化系统对其进行操作 实现角色的选择页面 后续会更新xml系列的文
  • 游戏开发常见操作系列之敌人系统的开发一(U3D)

    在开发游戏的过程中 我们常常会出现一些敌人攻击我们玩家 并且实现掉血以及死亡的现象 敌人还会源源不断地生成 这是怎么制作的呢 接下来为大家提供方法 其中使用了NGUI 后续会更新其它方法 敬请期待 使用HUDText实现扣血时显示文本 直接

随机推荐

  • 力扣|错误的集合 C语言

    题目连接 错误的集合 集合 s 包含从 1 到 n 的整数 不幸的是 因为数据错误 导致集合里面某一个数字复制了成了集合里面的另外一个数字的值 导致集合 丢失了一个数字 并且 有一个数字重复 给定一个数组 nums 代表了集合 S 发生错误
  • 浅析muduo库中的定时器设施

    一个设计良好的定时器在服务端的应用程序上至关重要 muduo定时器的实现陈硕大牛在书中已经详细的谈过 笔者尝试从源码的角度解读定时器的实现 如果理解不对 欢迎指正 在muduo的定时器系统中 一共由四个类 Timestamp Timer T
  • 学习CSSGrid布局

    一 重要术语 CSS Grid 网格 布局 又称为 Grid 网格 是一个二维的基于网格的布局系统 它的目标是完全改变我们基于网格的用户界面的布局方式 FlexBox 一维布局 Grid 二维布局 Flexbox 和 Grid 能协同工作
  • C# 文件IO

    文章目录 判断某个文件夹是否存在 获取当前运行程序 exe或dll 所在路径 创建文件夹 移动 剪切 文件夹 复制文件 创建文件 覆盖写文件 方式一 使用FileStream 方式二 使用StreamWriter 追加写文件 读文件 一 一
  • springBoot国际化的一种方式

    引言 当我们的应用面向不同国家用户时 根据不同的locale返回不同的语言信息的国际化功能就显得有必要了 一般来说国际化主要表现在前端用户界面上 在现在前后端分离的背景下 前端页面的国际化交由前端代码独立完成 少部分表现在后端上 后端主要表
  • HTML存储详解

    和大家一起先来了解一下H5之前的存储方式 cookies的诞生 http请求头上带着数据 大小只能为4K 主Domain的污染 下面是百度的一些Cookies HTTP中带 的表示 只能被服务器端修改的数据 一般用来存储身份验证等信息 co
  • 搞清axis的含义,这一篇就够了!

    文章目录 axis的含义 旁门左道式理解 二维数组中的axis 三维数组中的axis 正规理解 axis的含义 在自己分析之前先摆上官方关于多维数组中axis的值的定义 axis 0 表示第一个维度 axis 1 表示第二个维度 axis
  • Java异步调用的几种方式

    一 通过创建新线程 二 通过线程池 三 通过 Async注解 四 通过CompletableFuture 日常开发中 会经常遇到说 前台调服务 然后触发一个比较耗时的异步服务 且不用等异步任务的处理结果就对原服务进行返回 这里就涉及的Jav
  • css3 transaction display,HTML5+CSS3 本地数据库基本

    HTML5 CSS3 本地数据库基本 Web SQL Database 本地数据库 是一个已经废弃的规范 但是鉴于除了IE和Firefox 其他浏览器都已经实现了Web SQL Database 并且它还具有一些Storage 存储 所不具
  • Windows更新CUDA

    经过整整一天的奋战 终于成功更新了CUDA 特此记录一下这个艰难的过程 最最最先要确定的是 你的电脑得是支持GPU的 一 查看电脑现存CUDA版本 电脑搜索NVIDIA 在出现的页面中的左下角点击 系统信息 出现以下界面 可以看到驱动版本是
  • LXC 3.0交叉编译

    LXC交叉编译 代码下载 git clone https github com lxc lxc git 代码文件编译 编写交叉编译文件 host machine system linux cpu family arm cpu arm end
  • redis的持久化和主从复制

    什 么是redis持久化 redis作为一个键值对内存数据库 nosql 数据存储在内存当中 在处理客户端请求时 所有操作都是在内存当中运行 问题 存储在内存中的数据 只要服务器关机 内存中的数据就会消失 不仅服务器关机会造成数据消失 re
  • VMware虚拟机安装Linux系统

    文章目录 前言 一 Linux是什么 二 安装步骤 1 新建虚拟机 2 安装CentOS 7 总结 前言 之前使用VMware虚拟机安装了Windows系统 本文讲的是使用VMware虚拟机安装Linux系统 提示 以下是本篇文章正文内容
  • Modbus通信协议详解

    一 Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言 通过此协议 控制器相互之间 控制器经由网络 例如以太网 和其它设备之间可以通信 它已经成为一通用工业标准 有了它 不同厂商生产的控制设备可以连成工业网络 进行
  • APPCAN + wampserver 实现简单的个人登录功能

    开发背景 Appcan wampserver 其中wampserver主要用于提供本地服务器和数据库 这是软件开发工程这门课中的一个大作业 需要实现 1 首页 index html 首页包含 滚动图片 新闻列表和导航栏 首页内容通过Requ
  • 用python编写递归爬取多重网址的网站信息

    项目组要得到这个http kalug linux org tw shawn project thesis 目录网址下面的所有文件以及这个文件目录的下层目录以及更下层目录的文件包括这个 用迅雷 flashget好像都没这样的功能 找到给一个链
  • 经过两天的折腾,我终于写成了我的第一个flutter app程序,差点把我折磨精神崩溃了

    最近看头条 天天给我推送flutter 说flutter如何好 如何先进 如何简单 忍不住诱惑我就练练试试吧 没想到掉到了一个无底大坑 其实flutter语言本身挺简单方便 编安卓程序也很容易 关键是搭建环境和编译程序极其困难 中间各种bu
  • javascript复制到剪切板

    一 这是一个复制方法 复制到剪切板 param text returns Promise
  • 区块链技术医疗卫生领域运用综述————医药供应链(2019年4月份)

    区块链技术医疗卫生领域运用综述 医药供应链 FJTCM区块链技术开发学习小组 时间 2019 04 24 目录 摘要 1 Abstract 2 引言 3 一 医药冷链物流现状分析 4 1 发展机遇 4 2 存在的问题
  • unity,如何通过协程,将物体的颜色逐渐变浅,慢慢消失

    介绍 unity 如何通过协程 将物体的颜色逐渐变浅 慢慢消失 方法 IEnumerator Stop while sprite color a gt 0 sprite color new Color sprite color r spri