【发布时间】:2019-09-26 15:05:35
【问题描述】:
我目前正在开发一款涉及玩家猜测的小游戏。玩家还可以使用特殊卡片,例如,显示一个字母/添加他/她的猜测时间等。游戏分为两个场景-> 一个是商店、库存、玩家资料等,第二个是严格猜测。 目前,几乎所有内容都在第二个场景的更新中运行,但我真的很讨厌它。我试图将所有内容重写为协程,但问题是在 IEnumerator 中使用卡片似乎是不可能的(或者我做错了什么?)。 例如,一个简单的倒计时。如果它在更新中,我可以很容易地使用卡片来影响时间(例如增加 30 秒)。在 IEnumerator 的情况下,我不能(或者可能更好,我不知道该怎么做)。
int secondsForGuess = 30;
IEnumerator Countdown () {
int counter = secondsForGuess;
while (counter > 0) {
yield return new WaitForSeconds (1);
counter--;
}
}
任何一般性建议如何在不使用更新的情况下执行此操作将不胜感激:D
【问题讨论】:
-
您可以为上下文添加更多代码吗?你在哪里以及如何启动协程?
-
你为什么不想使用更新?您可以使用
Datetime.Now来检查时间,而无需使用太多资源。在开始时设置一个初始时间,然后检查更新中的时间差是否超过您给的时间限制。 -
如果你
yield return null;你继续执行下一帧。我不明白你的更新问题是什么。 -
我担心游戏会占用太多资源,以防我会在更新中做所有事情:) 基本上是我的第一个 Android 游戏。