iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Unity如何延时执行
  • 417
分享到

Unity如何延时执行

2023-06-20 14:06:29 417人浏览 薄情痞子
摘要

这篇文章主要为大家展示了“Unity如何延时执行”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Unity如何延时执行”这篇文章吧。本文列举的有以下四种,如有错漏,欢迎补充指正✨UpdateInv

这篇文章主要为大家展示了“Unity如何延时执行”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Unity如何延时执行”这篇文章吧。

本文列举的有以下四种,如有错漏,欢迎补充指正

UpdateInvoke协程DoTween
支持参数传入✖️✖️✔️✖️

下表是在不同情况下各方案的执行状态

UpdateInvoke协程DoTween
Time.timeScale = 0✔️✖️✖️✔️
activeSelf == false✖️✔️✖️✔️
enabled == false✖️✔️✔️✔️
destroy✖️✖️✖️✔️

Update计时器

在Update等刷新函数内计时,timer += Time.deltaTime 当时间达到预期,执行需要延时的方法。 需要注意的是,增量时间Time.deltaTime是每帧都不同的浮点数。计时器不能用 == 去判断达成条件。需要用 > 或 >= 加一个标志位。以确保函数能执行到且只执行一次 Update在 Time.timeScale = 0 时会正常执行,但这时Time.deltaTime的值为0。需要这时使用计时器的话,可以使用Time.realtimeSinceStartup

 private float delayTime = 1;    private float timer = 0;    private bool executed = false;    void Update(){        if (executed == false){            timer += Time.deltaTime;            if (timer >= 1){                executed = true;                DelayFunc();            }        }    }    private void DelayFunc(){        print("执行测试函数");    }

Invoke

Invoke() 方法是 Unity3D 的一种委托机制。使用简单便捷。 但是这个家伙和其他方式不太一样的是,隐藏物体或将脚本enabled 设置为false,并不会中断Invoke的执行。 Invoke支持重复调用: InvokeRepeating("方法名",延时时长,每次调用间隔时长)

 private float delayTime = 5;    private void Start(){         Invoke("DelayFunc",delayTime);        //InvokeRepeating("DelayFunc",delayTime,cdTime);    }    private void DelayFunc(){        print("执行测试函数");    }

协程

协程本质是迭代器,写法麻烦,但很好用。可以延时固定时间,也可以延时固定帧。
点击这里是一个协程的管理类,支持暂停继续等功能

  private float timer = 0;    private void Start()    {        StartCoroutine("DelayFunc");        Time.timeScale = 0;    }    IEnumerator DelayFunc()    {        while ( timer < 30)        {            yield return new WaitForSeconds(1);            timer++;            print("执行测试函数"+timer);         }    }

DoTween

如果你使用UGUI,那么你一定知道DoTween。DoTween是很常用的简单动画插件,但有时候我们能用它来做一些奇怪的操作。比如延时函数 执行后只能通过 seq.Pause();seq.Kill();等自带函数关闭。 Time.timeScale = 0,隐藏物体,禁用脚本,删除物体等情况下,均继续执行方法。

 private void Start()    {        seq = DOTween.Sequence();        seq.AppendInterval(5);        seq.AppendCallback(DelayFunc);        seq.SetAutoKill(false);        seq.SetUpdate(true);//设为true时可在Time.timeScale=0的情况下正常执行            }    void DelayFunc()    {        print("执行测试函数");     }

以上是“Unity如何延时执行”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Unity如何延时执行

本文链接: https://www.lsjlt.com/news/297329.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Unity如何延时执行
    这篇文章主要为大家展示了“Unity如何延时执行”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Unity如何延时执行”这篇文章吧。本文列举的有以下四种,如有错漏,欢迎补充指正✨UpdateInv...
    99+
    2023-06-20
  • Unity延时执行的多种方法小结
    目录Update计时器Invoke协程DoTween最开始接触unity的时候,我做延时都是在update里做计时器。后来才发现,我屮艸芔茻,还有这么多种更方便延时执行的方式。现在我...
    99+
    2024-04-02
  • dos、bat批处理如何延时执行命令
    这篇文章给大家分享的是有关dos、bat批处理如何延时执行命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。第一种方法:ping 127.0.0.1 -n 5000>nul&n...
    99+
    2023-06-09
  • unity可执行文件如何弄
    要创建Unity可执行文件,您需要按照以下步骤操作: 在Unity编辑器中构建您的项目: 打开您的Unity项目,并确保您已经...
    99+
    2024-03-02
    unity
  • Linq延时执行怎么理解
    本篇内容主要讲解“Linq延时执行怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linq延时执行怎么理解”吧!Linq的大多数查询运算符的一个重要特性就是,他们并不是在构建的时候就立即执...
    99+
    2023-06-17
  • jQuery如何设置延迟执行?
    这篇文章将为大家详细讲解有关jQuery如何设置延迟执行?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery 设置延迟执行 设置超时延迟 使用 setTimeout() 方法设置超时延迟,以毫秒为...
    99+
    2024-04-02
  • jQuery如何取消延迟执行?
    这篇文章将为大家详细讲解有关jQuery如何取消延迟执行?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery 取消延迟执行 延迟函数 jQuery 中的 setTimeout() 和 setInt...
    99+
    2024-04-02
  • Bat脚本-timeout命令(延时执行)
    概述 做一个延时执行的批处理命令,选用timeout命令来实现,但是碰到一个情况是写完后直接双击运行时,timeout 命令运行不了,每次运行到timeout的时候,命令就会跳到.b...
    99+
    2022-12-26
    Bat timeout bat 延时执行
  • 【Android】之【延时执行的几种方法】
    在Android日常开发中我们经常会有延时执行某个操作的需求,例如我们启动应用的时候,开始呈现一个引导页面,过了两三秒后,自动跳转到主界面;又如为了控制时序,需要延时执行等等。 下面整理下实现延时执行...
    99+
    2023-08-31
    android
  • springboot执行延时任务之DelayQueue实例
    目录springboot执行延时任务之DelayQueueDelayQueue是什么?使用步骤日常开发延迟任务技术对比总结springboot执行延时任务之DelayQueue 提示...
    99+
    2023-02-14
    springboot执行延时任务 springboot DelayQueue springboot延时任务
  • unity实现物体延时出现
    本文实例为大家分享了unity实现物体延时出现的具体代码,供大家参考,具体内容如下 新建一个cube和plane,隐藏cube,脚本挂在plane上。 1. update计时器实现 ...
    99+
    2024-04-02
  • Spark延迟执行是如何工作的
    Spark延迟执行是指Spark在执行任务时,并不立即执行所有的转换操作,而是将它们保存在内存中,直到需要执行动作操作为止。这种延迟...
    99+
    2024-03-04
    Spark
  • 如何使用golang函数闭包进行延迟执行
    使用 go 中的闭包可以延迟函数执行,直到稍后某个特定时间。通过创建闭包并捕获其上下文的变量,函数可以在稍后被调用时仍然访问这些变量。 如何使用 Go 中的闭包进行延迟执行 闭包是一种...
    99+
    2024-04-23
    golang 延迟执行 函数闭包
  • SpringBootEvent事件如何实现异步延迟执行
    目录SpringBoot Event 事件实现异步延迟执行使用它只需要三样东西总结SpringBoot Event 事件实现异步延迟执行 Spring的事件(Application ...
    99+
    2023-02-14
    SpringBoot Event事件 异步延迟执行 SpringBoot实现异步
  • 批处理如何实现延迟执行命令
    这篇文章将为大家详细讲解有关批处理如何实现延迟执行命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。2003的工具包里有个sleep.exe2、结合vbs实现的代码代码如下:echo.wscript.sl...
    99+
    2023-06-09
  • Unity实现毫秒延时回调功能
    简介 在项目的框架中看到了这个延迟回调的函数,一直以为是通过Unity协程实现的,最后看了源码后才发现是自己实现的。也是,如果用了协程成千上百个回调不得卡死。自己实现了一下核心的脚本...
    99+
    2024-04-02
  • unity实现物体延时出现的方法
    小编给大家分享一下unity实现物体延时出现的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!新建一个cube和plane,隐藏cube,脚本挂在plane上。...
    99+
    2023-06-14
  • shell 创建子进程及并行延时执行命令方法
    目录shell 创建子进程方法1. 什么是shell子进程2. shell什么情况下会产生子进程3.使用括号来创建子进程shell 创建子进程方法 1. 什么是shell子进程 子进程,是从父子进程的概念出发的,Unix...
    99+
    2023-01-12
    shell创建子进程 shell子进程创建
  • shell创建子进程及并行延时执行命令方法
    目录shell 创建子进程方法1. 什么是shell子进程2. shell什么情况下会产生子进程3.使用括号来创建子进程shell 创建子进程方法 1. 什么是shell子进程 子进...
    99+
    2023-01-12
    shell 创建子进程 shell 子进程创建
  • php执行时间超时如何解决
    php执行时间超时如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境。二、W...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作