coroutine相关内容

Python中基于收益的协程与@ asyncio.coroutine和@ types.coroutine装饰器的协程有何不同?

我一直在尝试理解异步编程,尤其是在Python中.我了解到asyncio是基于事件循环构建的,该事件循环调度了协程的执行,但是我已经读到了几种定义协程的不同方法,而且我对它们之间如何相互关联感到困惑. 我阅读了此文章以获取有关该主题的更多背景信息.尽管它涵盖了我提到的四种协程中的每一种,但并未完全描述它们之间的区别.如果没有任何外部模块,则可以使用yield作为等号右侧的表达式来创建协程,然 ..
发布时间:2020-09-13 05:43:31 Python

如何在Prolog中编写/编辑自己的协程?

我想在Prolog中建立自己的协程. 我想添加一些额外的功能. 解决方案 一种可能的解决方案是使用某些Prolog系统和Logtalk提供的术语扩展机制来重写对例如freeze/2谓词可以执行所需的额外步骤.但是,必须小心,不要将对谓词的调用扩展到另一个目标,该目标与递归应用目标扩展的谓词调用相同,直到达到固定点为止.通过使用编译器旁路控制结构{}/1,术语扩展机制的Logtalk实现可轻 ..
发布时间:2020-08-05 21:53:03 其他开发

支持Chrome浏览器的基于生成器的Java协程库

JavaScript生成器不能提供太多帮助,因为它不是真正的协程.因此,我希望使用一些新的ecmascript 6关键字"yield"在浏览器中具有协程.也就是说,我希望我可以在调用堆栈的多个帧中产生结果. 据我所知,我刚刚在Firefox上找到了一个基于Javascript 1.7+的协程库,该库可以在"yield".因此,我想知道是否有一个协程实现使用Javascript生成器支持Chr ..

协程因游戏对象无效而无法启动

我收到一条错误消息,但我不确定如何解决.我正在尝试在闲置一小段时间后开始倒计时,然后再启动第二次倒计时并与视觉警告配对.当协程启动时,我会收到此错误: 协程无法启动,因为游戏对象"_CountdownTimer"处于非活动状态! UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator) CountdownTimer:StartPreCount ..
发布时间:2020-07-26 04:13:22 C#/.NET

StartCoroutine被调用了很多次(C#Unity)

我正在Unity中创建一个弹出菜单选项.现在我的问题是我在void更新中制作的协程被调用了很多次.我的意思是,在我的Unity Console上,Debug.Logs正在递增.它不应该正确,因为它已经协程了.可以帮助我了解更多的协程并帮助我解决我的小问题. 这是我的代码: [SerializeField] GameObject Option; [SerializeField] Butt ..
发布时间:2020-07-26 03:30:54 C#/.NET

如何在其他协程开始之前先完成协程

嗨,我是一个团结和c#的新手. 我在同一场景中有两个脚本文件, versionchecker.cs文件中的1个协程从我的Web服务器获取版本号数据 public string versionURL = "http://localhost/check.php"; IEnumerator GetVersion() { WWW vs_get = new WWW(vers ..
发布时间:2020-07-26 03:29:27 C#/.NET

一起使用Lerp Position和Slerp Rotation(统一)

这是我要尝试的操作,当我单击UI元素时,相机会平稳旋转(以查看目标),同时在目标上方移动. 为此,我使用两个协程,一个用于Lerp位置,另一个用于Slerp旋转. 问题是旋转无法正常进行,通常摄影机应向下看以看到目标的顶部,但与其相反,它看起来像是摄影机首先看向目标,然后移至他的位置 我希望这是可以理解的;) 这是代码c# Vector3 LocationProjec ..
发布时间:2020-07-13 01:16:01 C#/.NET

Unity停止和启动协程

我如何拥有一个可以播放协程的功能,但是首先要检查它是否已经在运行,如果有的话就将其停止? 编辑:抱歉,我没有看到有人已经问过/回答了这个问题,这是我被困了一段时间的原因 解决方案 public class Example : MonoBehaviour { [SerializeField] // Allow the variable to be edited in editor ..
发布时间:2020-07-13 01:04:22 其他开发

当按钮调用多个功能时如何正确使用IEnumerator

我正在制作一个纸牌游戏,在该游戏中,我试图在实例化每张纸牌之前进行(0.5f)延迟.我有实例化的代码和对象 public IEnumerator Name(int x,int y, int z) { } 在IEnum中,在带有实例化的所有代码之前,我都有一个yeild return new WaitForSeconds(0.5f). 我分别使用 在2个不同的类中分别调用 ..
发布时间:2020-07-13 00:26:35 C#/.NET

等待或等待协程完成

在下面的示例中,如何在运行DoLast()之前先完成FinishFirst()并同时保留"public void StartPage()"签名? 我试图避免使"StartPage()"返回IEnumerator,因为这将迫使我在界面中对其进行更改.如果我的StartPage()接口同时支持IEnumerator和Void而不需要同时实现这两者,那就太好了. public void St ..
发布时间:2020-07-13 00:00:28 C#/.NET

while循环后Unity3d协程停止

我让一个Singleton LevelManager加载一个关卡,等待新加载的关卡中的脚本将GameObject分配给LevelManager,然后对其进行处理. 我有以下代码: // some GameObject calls the loadLevel coroutine void somefunction(sceneToLoad){ StartCoroutine(Leve ..
发布时间:2020-07-12 23:31:34 C#/.NET

Unity Coroutine无法跨场景工作

我正在调用如下所示的协程,该协程附加到在场景之间持久存在的DontDestroyOnLoad对象. IEnumerator InitMaxScore() { Debug.Log("will wait for some time"); yield return new WaitForSeconds(1); GameObject[] coins = GameObject. ..
发布时间:2020-07-12 22:58:10 C#/.NET

如何在Android平台的unity3d中使用c#线程?

我需要在线程中加载文件,场景和播放动画. 尝试在Android中通过www加载文件... 如何通过线程做其他的事情? 但是,为什么游戏引擎不允许我们创建线程? 还是我的理解是错误的? 如何在UNITY3D中创建线程? 解决方案 您可以在Unity中使用线程,但是引擎不是线程安全的.通常,您运行分离的线程(从Unity UI)来运行长时间运行的进程并检查结果(您无法从工作线程与Unity进行 ..
发布时间:2020-07-12 21:25:13 其他开发

Unity协程在后台停止

我的问题如下:当前,我在Android/iOS游戏中运行了几个协程,但是当我将游戏发送到后台以尝试使用手机进行其他操作时,协程停止并且仅在返回到游戏;有什么方法可以让协程在后台运行时继续运行? 解决方案 Android将按设计暂停您的应用程序. 协同例程与您的更新程序在同一线程中运行,因此在术语上区分了两者在前台运行不太可能.话虽如此,但是有解决方法.您可以构建与Android平台进行对话 ..
发布时间:2020-07-12 21:15:46 C#/.NET

“收益率0"与“收益率0"之间有什么区别?和"yield return null".在协程中?

我是新手,对"yield"有点困惑.但是最后我了解了如何使用WaitForSeconds 但是我看不到"yield return 0"和"yield return null"之间的区别. 他们都在等待下一帧执行吗? 对不起,我的英语不好.非常感谢. 解决方案 yield return 0和yield return null都产生单个帧.最大的区别是yield return ..
发布时间:2020-07-12 21:10:37 C#/.NET

协程和while循环

我一直在沿着从Navmesh Unity3d获取的路径进行对象移动 我正在使用协程,其中我可以通过while循环对其进行控制 public void DrawPath(NavMeshPath pathParameter, GameObject go) { Debug.Log("path Parameter" + pathParameter.corners.Length); ..
发布时间:2020-07-12 20:57:12 C#/.NET