Unity中在Editor下的延迟调用
Unity中在Editor下的延迟调用
说到延迟调用, 大家肯定首先想到的是MonoBehavior的协程, 但是在Editor不太好用. 我们这里给出两个方案供大家选择.
async
第一种比较简单, 利用C#的特性, 需要c# 5.0以上的版本支持.
var delayCall = async () =>
{await Task.Delay(System.TimeSpan.FromSeconds(2));Debug.Log("do something................");
};delayCall();
EditorApplication.update
第二种利用Editor的Update生命周期, 也是比较简单, 虽然不是那么精准, 但是基本也是够用了.
public class DelayCall
{/// <summary>/// 延迟秒数/// </summary>private float m_Delay;private Action m_Callback;private float m_StartupTime;public void Perform(float delay, Action callback){m_Delay = delay;m_Callback = callback;EditorApplication.update += Update;}// 主动停止public void Stop(){m_StartupTime = 0;m_Callback = null;EditorApplication.update -= Update;}private void Update(){// 时间初始化放在这里是因为如果在某些类的构造函数中获取时间是不允许的if (m_StartupTime <= 0) m_StartupTime = Time.realtimeSinceStartup;if (Time.realtimeSinceStartup - m_StartupTime >= m_Delay){if (m_Callback != null) m_Callback();Stop();}}
}public class Test
{public static void Call(){Debug.Log("before..................");new DelayCall().Perform(2, () => {Debug.Log("after..................");});}
}
好了, 以上就是今天要分享和记录的内容, 希望对大家有所帮助.
Unity中在Editor下的延迟调用相关推荐
- unity android ndk的作用,Unity中编写Android下使用的so插件
四月 24.2019. 0 Comment 在android上编写插件有多种路子: 1. c# portable library,用c#写的可移植的assembly.使用起来最简单.最方便,比如那些j ...
- png图片在unity中Default模式下透明区域显示白底的问题
最近在项目开发中遇到一个问题,美术给的png图片在unity中查看的时候Default选项下透明区域会显示黑白色,用于spine动画中会显示白色的色块.但是透明区域显示黑色的地方正常. 打印图片每个像 ...
- audio unity 加速_浅谈Unity中Android、iOS音频延迟
在Unity上面做音游,当在移动端实机运行起来,会发现,音频的发出会有一定的延迟,无论是长音效还是短音效,Unity内置的Audio内部使用的是FMOD,有以下手段改善 通过设置稍微改善其延迟的问题 ...
- 向左还是向右?Unity中俯视视角下人物智能转向的控制方法
再利用动画控制人物移动的过程中,实现智能转向(自动判断向左还是向右转)功能的方法有许多种,效果不一而足,代码量也千差万别,在这里,博主给出以下四种可以实现转向方法以供参考 1.利用三维向量Vector ...
- 关于Unity中的NGUI优化,你可能遇到这些问题
一.界面制作 Q1:我用的是NGUI,本来已经打包图集了,输出时候是不是就不用理会那些原始2D Sprite图 ?粒子贴图需要Packing Tag吗? 在NGUI中使用Atlas后,原纹理是不需要进 ...
- 【Unity】Unity中影响性能的几个因素
影响性能的因素 首先,我们得了解,影响游戏性能的因素哪些,才能对症下药.对于一个游戏来说,有两种主要的计算资源:CPU和GPU.它们会互相合作,来让我们的游戏可以在预期的帧率和分辨率下工作.CPU负责 ...
- 【Unity技巧】Unity中的优化技术
写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Un ...
- Unity中的优化技术
http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得 ...
- 第16章 Unity中的渲染优化技术
程序优化的第一条准则: 不要优化.程序优化的第二条准则(仅针对专家! 〉: 不要优化. 一一Michael A. Jackson 在进行程序优化的时候,人们经常会引用英国的计算机科学家Michael ...
最新文章
- mysql的存储引擎种类,mysql 存储引擎,基本数据类型
- SPS2003升级MOSS2007时SSO部件错误解决
- 「Apollo」Cyber RT 学习笔记
- 【线性筛】【质因数分解】【约数个数定理】hdu6069 Counting Divisors
- NEERC13 Problem H.Hack Protection
- Qt图形界面编程入门(4)
- android R制作OTA包时报错
- 匹配追踪分解 时频 matlab,Matlab匹配追踪(MatchingPursuit) 之一
- maven netty 配置_进阿里、腾讯、字节跳动、美团必掌握的Netty
- JDBC ResultSet分析
- 海康大华宇视安防摄像机平台RTSP直播流拉转输出RTSP/RTMP/HLS/HTTP-FLV并获取直播流地址
- 避免使用宏#define定义常量
- 《基于多任务神经网络的语种识别研究》——秦晨光
- python3解压zip_python3:rar解压缩
- C语言习题:输入10个学生5门课的成绩,分别用函数实现下列功能:①计算每个学生的平均分;②计算每门课的平均分;③找出所有50个分数中最高的分数所对应的学生和课程;④计算平均分方差;
- iPhone 13屏幕卡死黑屏、无法关机?如何解决
- blender_mmd_tools_extra 插件介绍
- PANDA pipeline的安装与使用-安装(1)
- IDEA 使用Spring Boot框架实现hello world
- 互斥量(mutex)与事件(event)的使用