对象-Unity中如何使用协程完成延时执行一个一直触发的函数

问题描述

Unity中如何使用协程完成延时执行一个一直触发的函数

小弟在U3D中想实现一个简单的功能,复制出物体后将对象一个个按照顺序移动出去并且一直执行移动,下面这段只能实现复制物体并统一发射出去。想要实现延时发射的话,考虑了用InvokeRepeating和Time.Delattime等方法,但是还是没能实现,出现卡死的情况。也听说这些方法的执行效率不高,于是尝试了协程,但是发现有数组越界的情况。
小弟脑子已经不够用了,求各位大神帮忙解答,如果可以的话,能否讲述刚才说的三种实现方法。谢谢!
public class kelong : MonoBehaviour {

public int i;
public GameObject enemy = null;
public GameObject[] enemys;

public void Start()
{
    enemys = new GameObject[i];
    if (enemy == null) return;
    for (i = 0; i < enemys.Length; i++)
    {

        enemys[i] = Instantiate(enemy);

    }

}
void Update()
{
    float translation = Time.deltaTime * 10;
  for (i = 0; i < enemys.Length; i++)
    enemys[i].transform.Translate(0, 0, translation);
}

解决方案

http://bbs.csdn.net/topics/391884387?list=lz

解决方案二:

InvokeRepeating函数可以实现的了,自定义一个函数名叫void fun(){ //你要实现的功能 },使用InvokeRepeating("fun",t);//fun是函数名,t是延时的时间

时间: 2024-12-31 01:00:38

对象-Unity中如何使用协程完成延时执行一个一直触发的函数的相关文章

【译】第一次走进 Android 中的 Kotlin 协程

本文讲的是[译]第一次走进 Android 中的 Kotlin 协程, 原文地址:A first walk into Kotlin coroutines on Android 原文作者:Antonio Leiva 译文出自:掘金翻译计划 译者:Feximin 校对者:wilsonandusa .atuooo 本文提取并改编自最近更新的 Kotlin for Android Developers 一书. 协程是 Kotlin 1.1 引入的最牛逼的功能.他们确实很棒,不但很强大,而且社区仍然在挖掘

如何在服务器空间中每隔一段时间自动执行一个程序,现在有的条件是服务器空间,没有服务器内部的权限,不能通过iis,求大神指导。

问题描述 如何在服务器空间中每隔一段时间自动执行一个程序,现在有的条件是服务器空间,没有服务器内部的权限,不能通过iis,求大神指导.详细说下现在要实现的功能,是这样,我们公司是做房产的,中介会上传一些房源图片,而现在这些图都是通过人工下载.要实现的功能是,自动下载这些图,并且转存到另一个空间中.与此同时,因为中介上传的时间不能确定,所以该程序,每隔两个小时运行一次.这个该怎么实现,求思路!!! 解决方案 解决方案二:你要下载到哪里,就应该在哪里执行你的程序啊你扔服务器上执行,图本来不就是在服务

ucontext-人人都可以实现的简单协程库

1.干货写在前面 协程是一种用户态的轻量级线程.本篇主要研究协程的C/C++的实现. 首先我们可以看看有哪些语言已经具备协程语义: 比较重量级的有C#.erlang.golang* 轻量级有python.lua.javascript.ruby 还有函数式的scala.scheme等. c/c++不直接支持协程语义,但有不少开源的协程库,如: Protothreads:一个"蝇量级" C 语言协程库 libco:来自腾讯的开源协程库libco介绍,官网 coroutine:云风的一个C语

【转】【UNITY3D 游戏开发之六】UNITY 协程COROUTINE与INVOKE

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/unity3d-game/1610.html 这里Himi强调一点:Unity里面的协程并不是线程,协程是在unity主线程中运行的,每一帧中处理一次,而并不与主线程并行.这就意味着在协程之间并不存在着所谓线程间的同步和互斥问题,不会出现死锁.一般来说,访问同一个值也都是很安全的,用协程可以处理绝大多数的小问题,而且不用考虑复杂的线程间同步,

[译]C语言协程

C语言协程 by Simon Tatham 原文链接:http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html 引言 为大型程序设计一个良好的结构通常是一件困难的事情.其中一个经常出现的问题是:如果你有一段代码产生数据,另一段代码消费数据,那么谁应该作为调用者,谁应该作为被调用者? 下面是一段很简单的Run-Length(游程编码)解压缩代码(Decompressor): /* Decompression code */ while

谈谈Python协程技术的演进

一.引言 1. 存储器山 存储器山是 Randal Bryant 在<深入理解计算机系统>一书中提出的概念. 基于成本.效率的考量,计算机存储器被设计成多级金字塔结构,塔顶是速度最快.成本最高的 CPU 内部的寄存器(一般几 KB)与高速缓存,塔底是成本最低.速度最慢的广域网云存储(如百度云免费 2T ) 存储器山的指导意义在于揭示了良好设计程序的必要条件是需要有优秀的局部性: 时间局部性:相同时间内,访问同一地址次数越多,则时间局部性表现越佳; 空间局部性:下一次访问的存储器地址与上一次的访

PHP协程实现过程详解

多进程/线程 最早的服务器端程序都是通过多进程.多线程来解决并发IO的问题.进程模型出现的最早,从Unix 系统诞生就开始有了进程的概念.最早的服务器端程序一般都是 Accept 一个客户端连接就创建一个进程,然后子进程进入循环同步阻塞地与客户端连接进行交互,收发处理数据. 多线程模式出现要晚一些,线程与进程相比更轻量,而且线程之间共享内存堆栈,所以不同的线程之间交互非常容易实现.比如实现一个聊天室,客户端连接之间可以交互,聊天室中的玩家可以任意的其他人发消息.用多线程模式实现非常简单,线程中可

LUA 协程 Coroutine

协程 Coroutine 协程(coroutine)并不是 Lua 独有的概念,如果让我用一句话概括,那么大概就是:一种能够在运行途中主动中断,并且能够从中断处恢复运行的特殊函数.(嗯,其实不是函数.) 举个最原始的例子: 下面给出一个最简单的 Lua 中 coroutine 的用法演示: function greet() print "hello world" end co = coroutine.create(greet) -- 创建 coroutine print(corouti

一个使用 asyncio 协程的网络爬虫(一)

介绍 经典的计算机科学强调高效的算法,尽可能快地完成计算.但是很多网络程序的时间并不是消耗在计算上,而是在等待许多慢速的连接或者低频事件的发生.这些程序暴露出一个新的挑战:如何高效的等待大量网络事件.一个现代的解决方案是异步 I/O. 这一章我们将实现一个简单的网络爬虫.这个爬虫只是一个原型式的异步应用,因为它等待许多响应而只做少量的计算.一次爬的网页越多,它就能越快的完成任务.如果它为每个动态的请求启动一个线程的话,随着并发请求数量的增加,它会在耗尽套接字之前,耗尽内存或者线程相关的资源.使用