相关疑难解决方法(0)

StartCoroutine/yield返回模式如何在Unity中真正起作用?

我理解协程的原理.我知道如何让标准StartCoroutine/ yield return模式在Unity中的C#中工作,例如调用一个方法返回IEnumeratorvia StartCoroutine并在该方法中执行某些操作yield return new WaitForSeconds(1);,等待一秒,然后执行其他操作.

我的问题是:幕后真的发生了什么?什么是StartCoroutine真的?什么IEnumeratorWaitForSeconds恢复?如何StartCoroutine将控制权返回到被调用方法的"其他"部分?所有这些如何与Unity的并发模型相互作用(在不使用协同程序的情况下,许多事情同时发生)?

c# coroutine unity-game-engine

124
推荐指数
4
解决办法
7万
查看次数

随着时间的推移移动GameObject

我正在从Swift SpriteKit背景学习Unity,其中移动精灵的x位置与运行动作一样直接如下:

let moveLeft = SKAction.moveToX(self.frame.width/5, duration: 1.0)
let delayAction = SKAction.waitForDuration(1.0)
let handSequence = SKAction.sequence([delayAction, moveLeft])
sprite.runAction(handSequence)
Run Code Online (Sandbox Code Playgroud)

我想知道一种等效或类似的方法,将精灵移动到特定持续时间(例如,一秒)的特定位置,并且延迟不必在更新函数中调用.

c# unity-game-engine unity5

8
推荐指数
1
解决办法
5238
查看次数

标签 统计

c# ×2

unity-game-engine ×2

coroutine ×1

unity5 ×1