我在不同的类中使用StartCoroutines,问题是我需要将其调用为动态的类。 LevelSelected = "Camera.GetComponent<Level"+levelnumber+">().Pattern1()";
LevelSelected是一个字符串,levelnumber是level(int),我希望它从该类中获取枚举器函数。级别编号取决于玩家在开始菜单上选择的级别。
我遇到的问题是...如果我将所需内容输出到字符串中。
`StartCoroutine (LevelSelected);`
错误地说 - Coroutine&#39; Camera.GetComponent()。Pattern2()&#39;无法开始!但是当我对这个值进行硬编码时,它的工作正常......
有没有办法解决这个问题?
谢谢, 克雷格
答案 0 :(得分:0)
我相当确定你正在那里进行非法行动 GetComponent&LT;&GT;只能使用对类名的直接引用。 不要试图在字符串中输入值,而是执行以下操作:
var levelScript = Camera.GetComponent<Level>();
StartCoroutine(levelScript.Pattern(levelnumber));
在你的模式函数中将其更改为类似
IEnumerator Pattern(int levelnumber)
{
}