Unity中MonoBehavior类中的延迟函数Invoke详解(含案例)

Unity 延时(delay)脚本 通过添加该脚本可以很方便的改变特效或动画发生时间,便于制作工程中效果的确认,而无需打开粒子逐个更改时间 立即下载

一、什么是延迟函数

含义:会延时执行的函数,我们可以自己设定延时要执行的函数和具体延时的时间,是MonoBehaviour基类中实现好的方法

二、延迟函数的使用

1.延迟函数

(1)关键字   Invoke

(2)参数

参数一:函数名 字符串
参数二:延迟时间 秒为单位

(3)注意
延时函数第一个参数传入的是函数名字符串

延时函数没办法传入参数 只有包裹一层
函数名必须是该脚本上申明的函数

2.延迟重复执行函数

(1)关键字   InvokeRepeating

(2)参数

参数一:函数名字符串
参数二:第一次执行的延迟时间
参数三:之后每次执行的间隔时间

(3)注意

延时函数第一个参数传入的是函数名字符串
延时函数没办法传入参数 只有包裹一层
函数名必须是该脚本上申明的函数

3.取消延迟函数

(1)关键字   CancelInvoke

(2)使用情景

【1】取消该脚本上的所有延时函数执行

CancelInvoke();

【2】指定函数名取消

Tips:只要取消了指定延迟 不管之前该函数开启了多少次 延迟执行 都会统一取消

CancelInvoke("DelayDoSomething");

4.判断是否有延迟函数

if( IsInvoking() )
{
    print("存在延迟函数");
}
if( IsInvoking("DelayDoSomething") )
{
    print("存在延迟函数DelayDoSomething");
}


三、延迟函数受对象失活销毁影响

1.脚本依附对象失活 或者 脚本自己失活——延迟函数可以继续执行 不会受到影响

2.脚本依附对象销毁或者脚本移除——延迟函数无法继续执行


四、练习题一

1.题目

       利用延时函数实现一个计秒器

2.实现

 void Start()
 {
     InvokeRepeating("DelayFun", 0, 1);
 }

private void DelayFun()
{
    print(time + "秒");
    ++time;
}


五、练习题二

1.题目

        请用两种方式延时销毁一个指定对象

2.实现

方法一:

Destroy(this.gameObject, 5);

方法二:

 Invoke("DelayDes", 5);
......
 private void DelayDes()
 {
     Destroy(this.gameObject);
 }
有限元缺陷:剪切锁死 阅读详情

相关推荐

避开这5个坑!Tushare金融数据获取与分析的常见错误排查指南

本文详细解析了使用Tushare进行金融数据获取与分析时常见的5个问题,包括Token失效、数据缺失、频率限制、数据一致性和性能瓶颈,并提供了实用的解决方案和优化策略。通过Python代码示例和最佳实践,帮助金融数据分析师和量化开发者高效避开这些陷阱,提升工作效率。

x2y3z4a5b的博客 1036

Unity延时函数

延时执行的函数,可以自己设定延时要执行的函数和具体延时的时间,是Monobehaviour基类中实现好的方法。

Go_Accepted的博客 4679

SceneSplat

目标:训练一个网络,输入高斯参数 → 输出与自然语言空间对齐的特征。考虑到标注语义的 3DGS 数据有限,作者设计了。策略,让模型在无标签场景上学到有用表征。都有一个与自然语言对齐的语义特征。这是整个方法的第一步,目标是让。

weixin_61091146的博客 1284

Unity-延迟函数--Invoke

Unity--延迟函数--Invoke

qq_40669895的博客 1005

用python将dycom .dcm格式图像转换为nifti .nii

因为发现目前搜索到的多数中文教程并不能正确将FMRI图像正确转换,例如很多用simpleITk的seriesreader的,所以写了一下自己正确转换的方法。因为FMRI是一个4D数据,有时间轴,所以用seriesreader读写出来的图像把时间轴维度给降维了。当然你用SPM12工具的dycom import也是能正确转换的,但是我还是喜欢python这样的,代码直接简单。

qq_41103479的博客 3609

ABAP Development Tool for Visual Studio Code 里使用 MCP server

本文讨论了SAP ABAP开发环境中,除GitHub Copilot外,其他可作为MCP客户端接入ABAP开发工具(MCP server)的编码代理(coding agent)。GitHub Copilot是官方确认可用的工具,而其他代理如Claude Code、Cursor、Windsurf Cascade、Cline和Continue虽然理论上支持MCP协议,但要实际用于ABAP开发还需满足两个关键条件:兼容MCP协议,并能处理VS Code虚拟工作区文件系统。这些工具需要单独验证是否支持ABAP开发工

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 255

Unity之延迟函数

延迟函数顾名思义就是会延迟执行的函数,我们可以自己设定延时要执行的函数和具体延时的时间。是MonoBehaviour基类中实现的好方法//继承MonoBehavior的脚本可以使用延迟相关函数//函数相关//Invoke 延时函数//InvokeRepeatinng 延迟重复函数//CancelInvoke 停止所有或者停止传入的指定延时函数//IsInvoke 判断是否有延迟函数在执行//使用相关//1.参数都是函数名,无法传函数需要的参数//2.只能执行该脚本中申明的函数。

lqd201314的博客 979

基于matlab的LFM脉冲压缩仿真

传统雷达测距是通过发射点频脉冲串实现的,通过发射脉冲与回波的时延确定目标的距离。此类方法易于实现,对接收机的要求较低。一般要获取更好的距离分辨力,需要增加发射信号的带宽,对于点频脉冲信号即需要减小发射脉冲宽度;而为获取更大的探测距离,提升雷达威力,则需要发射更大占空比的脉冲串。由于点频信号的时宽带宽积约等于1,因此不能同时增加信号的时宽和带宽。若要保持距离分辨力,增大占空比就需要减少雷达的脉冲重复周期(PRT)。这样会减小雷达的无模糊探测距离,也会造成目标回波频繁被遮挡,损失雷达威力。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 1770

Unity 延迟执行的5种方式

方法1适合需要同步显示时间的场合方法2适合简单的延迟场合方法3适合较为复杂的延迟场合方法4适合UI动画场合(配合其他功能一起使用)方法5可以自行尝试,不觉得能平替所有方法。

weixin_53163894的博客 1万+

AI大模型:(三)3.2 Spring AI实现Agent

SpringAI实现了流式对话功能,通过与Ollama模型集成完成前后端交互,当前版本存在thinking信息丢失问题。系统支持两种工具注册方式(方法注解和函数式),并内置时间工具类展示外部工具调用能力。记忆功能提供多种存储方案(内存、JDBC、NoSQL等),实现跨对话轮次的上下文保持。MCP协议集成方面,服务端实现计算和业务查询工具,客户端支持12306及自定义业务系统接入。完整演示了流式对话、工具调用与记忆功能的综合应用。该实践构建了具备复杂交互能力的AI系统,同时指出生产环境需关注的安全与优化问题。

haylee的专栏 1007

详述 MIMIC 数据库26张数据表(一)

作者按照自身理解和实验要求对MIMIC-III的26张数据表进行整理归纳并进行介绍。

越努力 越幸运 7236

unity3d————延时函数

print("当前秒数:" + count + "秒");count++;}*/print("当前秒数(2)" + count);count++;

2401_82978699的博客 764

DeepSeek赋能公文写作指南(一)

DeepSeek 的出现,为公文写作领域带来了新的曙光。作为先进的人工智能技术,DeepSeek 以其强大的语言理解与生成能力,能为公文写作提供全方位的支持。它可以快速梳理思路,提供丰富的素材参考,辅助优化语言表达,甚至能根据不同的公文类型和场景,生成极具价值的内容框架。《DeepSeek 赋能公文写作指南》正是基于此背景应运而生。本书旨在帮助公文写作者深入了解并充分利用 DeepSeek 这一强大工具,将其融入到公文写作的各个流程中。

通俗易懂学IT 5482

Unity(二)——MonoBehavior中的重要内容

延时执行的函数,指定某个函数在具体时间执行。

2401_87775776的博客 490

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

unity学习笔记

在指定位置进行范围判断,从而得到处于指定范围内的对象。

2401_83214819的博客 2247

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Unity脚本API笔记

脚本里的类和脚本重名就报错,不重名反而没问题。原因:我已经定义了这个名字的类,但是我忘了。typeof(类名);实例.GetType();Type.GetType("命名空间.类名");

Jesui的博客 1008

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Unity3DTraining技术架构深度解析:从代码实践到性能优化的完整解决方案

Unity3DTraining项目作为一个综合性的Unity技术资源库,为开发者提供了从基础到进阶的完整技术栈。我们深入分析其架构设计、性能优化策略和代码实现模式,为Unity开发者提供一套系统化的技术解决方案。 ## 性能瓶颈与优化策略:从GC管理到渲染管线优化 ### 问题:内存管理与GC性能瓶颈 在Unity开发中,垃圾回收(GC)是影响游戏性能的主要瓶颈之一。特别是在移动设备上,频繁

gitblog_00049的博客 666

Object 体系结构常用方法

Object 体系结构常用方法 大家就当做是看学习笔记吧 ~ 做一些分享 ~ 之前有过一些分享,太忙了没时间整理,整理出来就都发出来。 Object 体系结构 Monobehavior 常用方法      继承函数:        物体销毁:             static Destroy()             static DestroyImmdiate()

KingSea_168的专栏 498

Unity3D个人笔记-5.脚本开发基础-8常用的方法函数

Unity3D-5.脚本开发基础-8常用的方法函数1/16/2016 3:24:32 PM Destroy 物体的销毁 Instantiate 物体的生成 CompareTag 物体的辨认 SendMessage 消息的推送 Invoke 延迟执行程序 Coroutine 协同执行程序 MonoBehavior 常用方法 继承函数 Destroy

时光之沙 670

Unity Update、FixedUpdate与LateUpdate核心原理与实战避坑指南

在游戏开发中,游戏循环是驱动每一帧逻辑、物理模拟与渲染的核心机制。理解其原理是构建稳定流畅游戏体验的基础。Unity引擎通过MonoBehaviour生命周期中的Update、FixedUpdate和LateUpdate三个关键方法,为开发者提供了接入游戏循环的标准化接口。Update与渲染帧率同步,适用于处理玩家输入、非物理动画等实时逻辑;FixedUpdate则以固定时间步长运行,是物理计算的专用通道,确保物理模拟的稳定性与可预测性;LateUpdate则在所有Update之后执行,解决了如摄像机跟随等

weixin_30906185的博客 398

Steamworks.NET回调系统深度解析:Callback与CallResult实战指南

在游戏开发中,异步事件处理是构建响应式应用的核心机制,其原理在于解耦事件触发与响应逻辑,通过消息队列或回调函数实现非阻塞通信。这一技术价值在于提升程序并发能力和用户体验,避免界面卡顿,广泛应用于网络请求、文件I/O和平台服务集成等场景。以Steam平台游戏开发为例,Steamworks.NET SDK的回调系统正是这一原理的典型实践,它通过Callback处理Steam主动推送的全局事件(如成就解锁、好友状态变更),通过CallResult追踪开发者发起的异步操作结果(如创建大厅、查询排行榜)。理解并正确使

weixin_33868027的博客 417

Unity游戏开发:从零构建可扩展武器系统框架与状态效果实现

在游戏开发中,武器系统是核心玩法模块,其设计遵循数据、逻辑与表现分离的软件工程原则。通过定义清晰的接口和基类,可以实现攻击、装备、冷却等通用行为,而具体武器则通过继承与重写实现差异化。这种组件化架构的技术价值在于提升了系统的可扩展性与可维护性,使开发者能高效地添加新武器类型,如近战、远程或特殊武器。应用场景广泛覆盖各类动作、射击及角色扮演游戏。本文以Unity引擎为例,详细阐述了如何利用ScriptableObject实现数据驱动,并构建了支持“火焰刀”持续伤害与“机械拳套”蓄力攻击等特色功能的状态效果系统

weixin_30887919的博客 317

Unity基础学习(二)

Unity基础学习(二)

weixin_45972052的博客 1419

Unity-延迟函数

0.0

qq_42705793的博客 1349

Unity延时触发的几种常规方法

IsInvoking(): 判断是否有通过Invoke方式调用的函数,只要有Invoke在运行,就返回true.IsInvoking(函数名): 指定函数名称,当这个函数正在Invoke的时候返回true。CancelInvoke(函数名): 取消所有Invoke或者对应Invoke。

JingDuiTell的博客 3520

Unity3D之延迟函数

/ 继承NonoBehavior的脚本可以使用延时相关函数// 函数相关// Invoke 延时函数// InvokeRepeating 延时重复函数//CancelInvoke止所有或者指定延时函数// IsInvoking 判断是否有延时函数待执行// 使用相关// 1.参数都是函数名,无法传参数// 2.只能执行该脚本中申明的函数//13.对象或脚本失活无法停止延时函数执行,//对象才会停止或者代码停止。

qq_61845982的博客 667
上一篇: 2025Unity中的核心数学工具(三)四元数(穿插Unity实战相关案例)
下一篇: MonoBehavior中协程详解
Unity黑马王子
博客等级 码龄4年 1846粉丝 181原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值