我在不同的类中使用StartCoroutines,问题是我需要它的调用动态类。 LevelSelected = "Camera.GetComponent<Level"+levelnumber+">().Pattern1()";
Unity C#StartCoroutines - 是否可以把一个字符串放入StartCoroutine
LevelSelected是一个字符串,levelnumber是level(int),我希望它从该类中获取枚举器函数。等级号码取决于玩家在开始菜单上选择的等级。
问题我现在是...如果我输出我需要的字符串。
`StartCoroutine (LevelSelected);`
它出错了 - Coroutine'Camera.GetComponent()。Pattern2()'无法启动!但是,当我硬编码这个值,它工作正常...
有没有办法解决这个问题?
谢谢, 克雷格
字里行间,你有没有每个级别有不同的行为? 'Level1','Level2'等等?这不是一个好主意。另外,请注意['StartCoroutine'文档](https://docs.unity3d.com/ScriptReference/MonoBehaviour.StartCoroutine.html),您只能传递方法名称,而不是C#表达式(您正在尝试的是通过)。 – 31eee384
是的,我明白了,我只是想知道是否一个解决方法 - 我可以从字面上只是硬编码说什么字符串说,它的工作原理.. 有1级,2级等,但水平都一样。 – Craig
你试过这个吗? 'LevelSelected =“Camera.GetComponent()。Pattern1()”;' –
josehzz