首页 > 其他分享 >Unity中的协程

Unity中的协程

时间:2024-09-11 23:46:08浏览次数:10  
标签:return MoveNext Current Unity 协程 isDone

函数

IEnumerator A(){
  yield return Current;  //下一帧执行
}

开启 StartCoroutine() 参数可以为函数和函数名字符串,但是字符串的运行开销比较大。

协程原理

常见用法

如果Current是null,就相当于什么也不做。在下一次游戏循环中,就会调用MoveNext。所以yield return null就起到了等待一帧的作用

如果Current是WaitForSeconds类型,Unity会获取它的等待时间,每次游戏循环中都会判断时间是否到了,只有时间到了才会调用MoveNext。所以yield return WaitForSeconds就起到了等待指定时间的作用

如果Current是UnityWebRequestAsyncOperation类型,它是AsyncOperation的子类,而AsyncOperation有isDone属性,表示操作是否完成,只有isDone为true时,Unity才会调用MoveNext。对于UnityWebRequestAsyncOperation而言,只有请求完成了,才会将isDone属性设置为true。

标签:return,MoveNext,Current,Unity,协程,isDone
From: https://www.cnblogs.com/zlllIII/p/18409257

相关文章

  • 【Unity精品源码】Auto Chess: 自走棋策略游戏开发框架
    ......
  • Unity UI 系统:Unity UI package (uGUI) 使用说明
    卡牌游戏UI系统UnityUI基础概念布局(Layout)Unity的屏幕坐标定义为左下角为(0,0),右上角为(1,1)。锚点(Anchor)锚点控制子矩形UI的边相对父矩形对应坐标轴的指定比例边的距离保持不变。AnchorMinX的值value表示:该矩形UI左边的X坐标相对父矩形UI......
  • 双人3D坦克(unity+C#)
        //TankManager.csusingSystem;usingUnityEngine;[Serializable]publicclassTankManager{publicColorm_PlayerColor;publicTransformm_SpawnPoint;[HideInInspector]publicintm_PlayerNumber;......
  • 一文理解协程----还不明白请来砍我
    说在前头:本文话糙理不糙,用大白话说明协程的核心思想,协程,指的是单个线程里执行多个并发任务,一个协程对应一个任务,重点来了,!!!协程是用户空间的概念,也就是说不管你一个线程里有多少个协程,在操作系统看来,你就是一个单线程,只要你有一处代码阻塞了,那么os就会挂起整个线程,所以说这多......
  • Unity碰撞入门笔记
    Collider和Collider碰撞条件layer间可碰撞。其中之一为刚体。碰撞函数进入碰撞:OnCollisionEnter(Collisioninfo)碰撞中:OnCollisionStay(Collisioninfo)碰撞离开:OnCollisionExit(Collisioninfo)trigger物体作为trigger将没有碰撞,作为触发器使用。(例如到达点位刷怪)进......
  • Kotlin协程的取消机制:深入理解和优雅实现
    本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点Kotlin协程提供了一种高效的方式来处理并发和异步任务。在协程的生命周期管理中,取消协程是一项重要的操作。本文将深入探讨Kotlin协程的取消机制,介绍除了直接使用Job的cancel......
  • Unity框架(场景切换模块)
    1、为什么要制作场景切换模块在游戏开发中很多时候可能需要进行场景切换只要存在场景切换,我们往往需要在切换场景时和切换场景结束后进行一些操作2、实现场景切换模块的主要思路1.制作SceneMgr单例模式管理器2.实现同步加载场景的公共方法3.实现异步加载场景的公共......
  • C++20 协程:异步编程的新纪元
    C++20引入了协程(coroutines),这是一种全新的异步编程模型,使得编写异步代码变得更加简洁和直观。本文将详细介绍C++20协程的概念、功能演变及其在实际项目中的应用。通过本文,你将了解到协程的基本原理、语法和如何利用协程来简化异步编程。1.协程的概念协程(coroutine)是......
  • (计算机论文)基于C#、Unity的先行者技能熟练度游戏系统的设计与实现
    毕业设计(论文)                    ​​​​​          ​博主可接毕设论文!!!论文题目:基于C#、Unity的先行者技能熟练度游戏系统的设计与实现 摘 要随着数字娱乐产业的蓬勃发展,独立游戏因其创新性和独特的游戏体验而受到越来越......
  • Unity框架(UI框架)基础版
    目的当游戏开发者再创建UI面板的时候一般是有一套流程的而为了简化这个流程演化出UI框架1、制作UI面板基类帮助我们自动化的查找组件,监听事件,无需每次写大量冗余代码2、制作UI管理器管理所有UI面板,UI面板的显示隐藏都通过UI管理器来进行管理基础版代码:UI基类:usingSys......