命名空间不能直接包含 2D 无限运行器中的字段或方法等成员 [重复]
Posted
技术标签:
【中文标题】命名空间不能直接包含 2D 无限运行器中的字段或方法等成员 [重复]【英文标题】:A namespace cannot directly contain members such as fields or methods in a 2D endles-s-runner [duplicate] 【发布时间】:2021-02-10 10:47:06 【问题描述】:您好,我制作了一个 2D 无尽的跑步者,现在我为 obstacelspawner 编写脚本,但错误仍然存在。 这是生成器的代码
IEnumerator SpawnRandomObstacle()
yield return new WaitForSeconds(Random.Range(1.5f, 4.5f));
int index = Random.Range(0, obstaclesToSpawn.Count);
while (true)
if (!obstacleToSpawn[index].activeInHierarchy)
obstaclesToSpawn[index].SetActive(true);
break;
else
index = Random.Range(0, obstaclesToSpawn.Count);
StartCoroutine (SpawnRandomObstacle ());
【问题讨论】:
有什么错误。调试器控制台窗口没有错误输出,无法推测。 【参考方案1】:你应该把你的方法/协程放在一个单一行为类中:
public class TrainingManagerEditorFreeRouteManager : MonoBehaviour
IEnumerator SpawnRandomObstacle()
yield return new WaitForSeconds(Random.Range(1.5f, 4.5f));
int index = Random.Range(0, obstaclesToSpawn.Count);
while (true)
if (!obstacleToSpawn[index].activeInHierarchy)
obstaclesToSpawn[index].SetActive(true);
break;
else
index = Random.Range(0, obstaclesToSpawn.Count);
StartCoroutine (SpawnRandomObstacle ());
为了更好地理解,您可以阅读 namespaces 是什么。它们用作组织代码的范围。如果你不放,它是全局命名空间,你不能直接放方法/corroutenes。
【讨论】:
以上是关于命名空间不能直接包含 2D 无限运行器中的字段或方法等成员 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试统一编写枪支脚本,但它说命名空间不能直接包含字段或方法等成员[重复]