不多讲,直接上代码

void Start()

{

CreatingTimerHandles();

}

// Update is called once per frame

void Update()

{

if (Input.GetKeyUp(KeyCode.Space))

PauseRace();

if (Input.GetKeyUp(KeyCode.A)) CancelingTimerEvents();

}

//调度事件

void Scheduling()

{

//1秒后调用SomeMethod()

vp_Timer.In(1.0f, SomeMethod);

}

void SomeMethod()

{

Debug.Log("调用");

}

//重复调用

void Iterations()

{

//1秒后调用,间隔1秒调用5次

vp_Timer.In(1.0f, SomeMethod, 5);

//0.1秒后调用,间隔1秒调用3次

vp_Timer.In(0.1f,SomeMethod,3, 1);

//0.1秒后调用,间隔1秒调用无限次

vp_Timer.In(0.1f, SomeMethod, 0, 1);

}

//带参数调用

void Arguments()

{

vp_Timer.In(1.0f, MethodWithSingleArgument, "Hello World!");

}

void MethodWithSingleArgument(object o)

{

string s = (string)o;

Debug.Log(s);

}

//带多个参数调用

void MultipleArguments()

{

vp_Timer.In(1.0f, MethodWithMultipleArguments,new object[] { "December", 31, 2012 });

}

void MethodWithMultipleArguments(object o)

{

object[] arg = (object[])o;

Debug.Log("Month: " + (string)arg[0]

+ ", Day:" + (int)arg[1]

+ ", Year:" + (int)arg[2]);

}

//委托

void Delegates()

{

//方式一

vp_Timer.In(1.0f, delegate () { Debug.Log("Hello World!"); });

//方式二

vp_Timer.In(0.01f, new vp_Timer.Callback(() =>

{

Debug.Log("Hello World!");

}), 0, Timer);

}

//具有参数的委托

void DelegatesWithArguments()

{

float incomingDamage = 242.0f;

vp_Timer.In(1.0f, delegate (object o)

{

Debug.Log((string)o);

}, incomingDamage);

}

//具有多个参数的委托

void DelegatesWithMultipleArguments()

{

string month = "December";

int day = 31;

int year = 2012;

vp_Timer.In(1.0f, delegate (object o)

{

object[] arg = (object[])o;

Debug.Log("Month: " + (string)arg[0]

+ ", Day:" + (int)arg[1]

+ ", Year:" + (int)arg[2]);

}, new object[] { month, day, year });

}

//取消计时器事件

void CancelingTimerEvents()

{

//  vp_Timer.CancelAll();

vp_Timer.CancelAll("SomeMethod");

}

//开始计时器事件

private vp_Timer.Handle m_RaceTimer = new vp_Timer.Handle();

void BeginRace()

{

vp_Timer.Start(Timer1);

}

//暂停计时器事件

private vp_Timer.Handle m_RaceTimer1 = new vp_Timer.Handle();

void PauseRace()

{

if (Timer1.Paused)

{

Timer1.Paused = false;

}

else

{

Timer1.Paused = true;

}

}

//创建计时器句柄

private vp_Timer.Handle Timer1 = new vp_Timer.Handle();

private vp_Timer.Handle Timer = new vp_Timer.Handle();

void CreatingTimerHandles()

{

//---示例1:在20秒内执行“某种方法”, //,但如果用户按下空间,则取消

vp_Timer.In(0.1f, SomeMethod,0, Timer1);

//---示例2:执行“某种方法”的5次迭代, //,但在3秒后取消 私人vp_Timer。处理计时

//vp_Timer.In(0.1f, SomeMethod, 5, 1, Timer);

//vp_Timer.In(3, delegate () { Timer.Cancel(); });

}

//计时器判断

private vp_Timer.Handle Timer2 = new vp_Timer.Handle();

void blockingTimerEvents()

{

vp_Timer.In(0.4f, SomeMethod, Timer2);

if (!Timer2.Active) // /防止重新启动“计时器”

vp_Timer.In(1.5f, SomeMethod, Timer2);

}

}

Unity vp_Timer VisionTimer使用方法相关推荐

  1. UNITY调用安桌方法出现 JNI: Init'd AndroidJavaClass with null ptr!

    UNITY调用安桌方法出现 JNI: Init'd AndroidJavaClass with null ptr! 原因是····· 得运行在一个真正的Android设备上! 得运行在一个真正的And ...

  2. 【Unity 3D游戏开发】在Unity使用NoSQL数据库方法介绍

    随着游戏体积和功能的不断叠加,游戏中的数据也变得越来越庞杂,这其中既包括玩家产生的游戏存档等数据,例如关卡数.金币等,也包括游戏配置数据,例如每一关的配置情况.尽管Unity提供了PlayerPref ...

  3. Unity中的截图方法(包括全屏截图、区域截图、Camera截图和摄像头截图)

    Unity中的截图方法(包括全屏截图.区域截图.Camera截图和摄像头截图) Application.CaptureScreenshot ScreenCapture Texture2D.ReadPi ...

  4. Unity定时重复调用方法--Invoke方法

    Unity定时/重复调用方法_Invoke方法 本篇讲述如何在unity中定定时调用其他方法的Invoke方法, 通过这个方法可以实现更多定时功能. (一)先来介绍本篇用到的两个方法: (1)Invo ...

  5. unity调整重力的方法

    介绍 unity调整重力的方法 全局 如果想要全局调整Unity项目中的重力,可以通过修改项目的Physics Settings(物理设置)来实现.具体步骤如下: 打开Unity编辑器,选择" ...

  6. Unity场景烘焙黑面方法三

    Unity场景烘焙黑面方法三 Unity场景烘焙黑面方法三 - 哔哩哔哩 (bilibili.com) 关注 Unity场景烘焙黑面方法三 使用Bakery插件将Unity场景烘焙干干净净的,漂漂亮亮 ...

  7. Unity 贴图压缩方法和对比

    Unity 贴图压缩方法和对比 在手机平台,贴图必定需要压缩,如果不压缩,没多少手机可以坑得住内存,除非你对贴图的精度需求很高,需要牺牲对低端设备的适配,贴图压缩是一个常用和必要的内存优化手段 以下是 ...

  8. Unity之Math等方法的使用

    Math方法 其实内容是比较简单的,只是笔者想想养成记笔记的习惯,所以我们直接看代码. using System.Collections; using System.Collections.Gener ...

  9. Unity同一项目双开方法

    Unity中一个项目只能有一个实例,也就是说如果你想测试多人联机的话,可能就需要打包或两台电脑,都有各自的缺点,这个时候双开项目就是最好的方法了,特别是测试帧同步的时候非常有必要 非常简单!整个过程只 ...

最新文章

  1. ACMNO.40 C语言-子串 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
  2. iOS10 UI教程视图的边界与视图的框架
  3. 路由(二)——动态路由简介与RIP协议
  4. C#设计模式之十二代理模式(Proxy Pattern)【结构型】
  5. 华为交换机CPU SNMP OID [简单整理]
  6. 编译安装LAMP对其性能压力测试
  7. 《Java练习题》Java编程题合集(转载)
  8. linux 组态软件,基于嵌入式Linux的组态软件实时数据库的设计
  9. 三菱PLC缓冲表操作
  10. 瑞典皇家理工学院计算机科学世界排名,瑞典皇家理工学院世界排名
  11. 整理一个将qq音乐的歌单导入到苹果音乐中的方法
  12. 领英营销—领英外贸开发客户的方法细节
  13. 微软反linux广告图片,一张地铁站“前程无忧广告”的图片引发网友热议 官方:虚假图片...
  14. mysql 用户名 长度_一个 MySQL 用户名长度的坑
  15. 数据库的用户名及密码
  16. 批处理系统,分时系统,分布式系统,多处理/多核处理器系统,集群系统,嵌入式操作系统
  17. 山东畜牧兽医职业学院计算机考试,山东畜牧兽医职业学院计算机自编word15套试题11Word模拟试题(1-15).doc...
  18. python执行定时任务
  19. Zhong__安装配置ElasticSearch
  20. java的类是什么_java类是什么意思

热门文章

  1. ppt中将文字转变为形状和图片
  2. Windows 蓝屏代码详解
  3. 转发:达尔优87键铝合金版灯光使用说明书
  4. 教你随机提取视频进行合并,设置添加片头片尾
  5. 时间管理(2:四象限法则)
  6. Mac 环境安装gradle
  7. Mac双系统切换及设置技巧
  8. 此Flash Player与您的地区不相容(完美解决)
  9. hle机器人_英雄联盟:LCK春季赛重组T1对阵HLE,曾经的神真的“老”了
  10. window下PHP依赖管理工具Composer的安装与使用