【Unity】制作简易定时器(Timer)
最近开始学习Unity,也想开始学习写一些简单的博客。
在网上学习了一些关于定时器的写法,在此简单总结一下,方便自己以后用到时查阅。
需求:制作定时器,运行3秒后执行第一次,之后每隔3秒执行一次操作。
方法①:使用变量在Update中计时,也是各种书中最常见的方法。
public class TestTimer : MonoBehaviour {
private float lastTime;
private float curTime;
void Start () {
lastTime = Time.time;
}
void Update () {
curTime = Time.time;
if (curTime - lastTime >= 3)
{
Debug.Log("work");
lastTime = curTime;
}
}
}
方法②:使用协程Coroutine
public class TestTimer : MonoBehaviour {
void Start () {
StartCoroutine(Do()); // 开启协程
}
IEnumerator Do()
{
while (true) // 还需另外设置跳出循环的条件
{
yield return new WaitForSeconds(3.0f);
Debug.Log("work");
}
}
}
方法③:使用InvokeRepeating
public class TestTimer : MonoBehaviour {
void Start () {
InvokeRepeating("Do", 3.0f, 3.0f);
}
void Do()
{
Debug.Log("work");
}
}
个人认为,使用InvokeRepeating调用写法最简洁。
【Unity】制作简易定时器(Timer)的更多相关文章
- Unity 3D 简易制作摄像机围绕物体随鼠标旋转效果
Unity 3D 简易制作摄像机围绕物体随鼠标旋转效果 梗概: 一. 摄像机围绕目标物体旋转, 即摄像机离目标物体有一定的距离且旋转轴心为该物体的位置. 二. 当目标物体被障碍物挡住后, 需要将摄像机 ...
- C#制作简易屏保(转)
C#制作简易屏保[原创] 原始网址: http://www.cnblogs.com/drizzlecrj/archive/2006/10/06/522182.html 2006-10-06 16:25 ...
- Android 定时器Timer的使用
定时器有什么用 在我们Android客户端上有时候可能有些任务不是当时就执行,而是过了一个规定的时间在执行此次任务.那么这个时候定时器的作用就非常有用了.首先开启一个简单的定时器 Timer time ...
- 免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作简易流量爬虫
前言 我们之前的爬虫都是模拟成浏览器后直接爬取,并没有动态设置IP代理以及UserAgent标识,本文记录免费IP代理池定时维护,封装通用爬虫工具类每次随机更新IP代理池跟UserAgent池,并制作 ...
- 利用Unity3D制作简易2D计算器
利用Unity3D制作简易2D计算器 标签(空格分隔): uiniy3D 1. 操作流程 在unity3DD中创建一个新项目 注意选择是2D的(因为默认3D) 在Assets框右键新建C#脚本 在新建 ...
- python中实现定时器Timer
实现定时器最简单的办法是就是循环中间嵌time.sleep(seconds), 这里我就不赘述了 # encoding: UTF-8 import threading #Timer(定时器)是Thre ...
- 订餐系统之定时器Timer不定时
经过几天漫长的问题分析.处理.测试.验证,定时器Timer终于定时了,于是开始了这篇文章,希望对还在纠结于“定时器Timer不定时”的同学有所帮助,现在的方案,在系统日志中会有警告,如果您有更好的方案 ...
- PHP框架Swoole的一个定时器Timer特性
在各种业务型系统中,往往需要服务器在后台扫描相关数据,触发相应的统计.通知等操作. 比如对于一个项目管理系统,需要每天的特定时间内,统计每项任务的执行.到期情况.整个项目的进度等等,根据统计情况,做相 ...
- Unity制作FPS Demo
等到把这个Unity FPS Demo[僵尸杀手]完成后再详细补充一下,使用Unity制作FPS游戏的经历,今天做个标识.
随机推荐
- windows7 sqlserver2012 无法写入受保护的内存 解决办法
1.我服务器 是windows server 2008R2 装的是MSSQLSERVER2012 2.客户端开发是MSSQLSERVER2012 Windows7 遇到问题: 解决办法: 卸载迅雷 ...
- MFC带标题栏的窗口和不带标题栏的窗口最大化
原文链接: http://blog.csdn.net/smartgps2008/article/details/7741223 不带标题栏的窗口最大化: 第一种情况:覆盖任务栏 ShowWindow( ...
- android中碰撞屏幕边界反弹问题
其实碰撞问题只是涉及到一点小算法而已,但在实际应用,尤其游戏中有可能会遇到,下面给出一个小示例,代码如下: MainActivity: package com.lovo; import android ...
- webpack 4.0的一些小坑
一.需要指定开发模式还是生产模式,需要改动两个地方: 1.package.json 中加入 --mode development "scripts": { "dev&qu ...
- marquee标签详解
<marquee>标签,它是成对出现的标签,首标签<marquee>和尾标签</marquee>之间的内容就是滚动内容.<marquee>标签的属性主要 ...
- 设计模式-观察者模式(Observer Pattern)
观察者模式(Observer Pattern):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己. 观察者 ...
- ElasticSearch + xpack 使用
ElasticSearch 是一个高可用开源全文检索和分析组件.提供存储服务,搜索服务,大数据准实时分析等.一般用于提供一些提供复杂搜索的应.我们为什么要选择 ElasticSearch ?因为它是一 ...
- sql的split()函数
ALTER function [dbo].[StrToList_Test](@Str varchar()) returns @table table( value nvarchar(max) ) as ...
- # file Python-3.4.7.tar.xz Python-3.4.7.tar.xz: XZ compressed data
# file Python-3.4.7.tar.xz Python-3.4.7.tar.xz: XZ compressed data # xz -d Python-3.4.7.tar.xz # ls ...
- angular.js测试框架protracotr自带的webdriver-manager启动问题“Invalid or corrupt jarfile”
按照官网安装完protractor. 升级webdriver-manager,获取selenium-server-standalone库文件以及各种浏览器驱动文件. webdriver-manager ...