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

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

一、什么是延迟函数

含义:会延时执行的函数,我们可以自己设定延时要执行的函数和具体延时的时间,是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);}
http://www.dtcms.com/a/463011.html

相关文章:

  • app软件下载网站源码无锡企业网站
  • 公司注册网站建设延庆免费网站建设
  • 网站的新闻模块怎么做石家庄语音网站建设公司
  • AIGC入门,手搓大模型客户端与MCP交互第2集
  • 世纪城网站建设电子商务是干什么的专业
  • 网站开发绩效考核唐山市建设局网站
  • 32位汇编:实验7Win32汇编程序的编程环境
  • 怎么做海淘网站阿里巴巴外贸圈app
  • 如何建设一个电商网站久久建筑网官网登录
  • 深圳市罗湖区网站建设搜索引擎seo优化平台
  • 京东商品详情深度解析:从接口调用到商业价值挖掘的技术实现
  • dede网站seo生产企业网站有哪些
  • 行业网站开发公司有哪些免费做外贸网站
  • 怎么使用dw做一个网站阿里巴巴建设网站
  • 南通网站定制企业互联网网站名字
  • 太仓网站建设有限公司火车头 wordpress4.9
  • 基于51单片机的超声波智能避障小车
  • 郑州网站建设网站建设小型培训机构网站开发毕业设计
  • 网站设计方案范文怎么做交易猫假网站
  • Altium Designer6转嘉立创 gerber文件
  • 饰品网站模板网站建设 中企动力中山
  • 葫芦岛网站建设找思路小程序怎么做出来的
  • 五通桥移动网站建设网站免费网站免费片黄入口蜜桃观看射破屁屁
  • 欧美网站建设排名大全网格建设专业好不好
  • 自己制作遥感深度学习数据集进行遥感深度学习地物分类-试读
  • 网站模板psd素材python安装wordpress
  • 河南南阳油田网站建设网站权重到底是什么
  • 医疗级节能革命:医院冷热源全链路改造与 AI 深度赋能实践
  • 中企高呈网站建设asp网站服务建设论文
  • 海西州wap网站建设公司对于做房产做网站的感悟