4
我使用Unity3D在C#中创建了一个游戏,我需要调用一个在运行时创建的脚本,因此我知道脚本的名称,因为我有一个与它完全相同的对象。在Unity3D中按名称加载脚本
我在运行时创建脚本,然后将其保存到我的资源文件夹,但随后我更改场景并需要调用该脚本并将其附加到当前场景中的Empty GameObject,所以我想使用类似的东西:
Script myScript = Resources.Load(myObject.name) as Script;
但我知道这能不能做到这样,所以我在寻找一种方法,我可以做我想做的,因为我需要加载新的脚本中添加一些功能在运行时。
您是否知道我的问题的解决方案?非常感谢!!
嗯,我能做到这一点在编辑器中,但是当我生成项目,它抛出一个错误。 问题是我在运行时使用FileStream.WriteFile()创建了一个.cs文件,以便在构建项目时该文件不像其自身的类那样存在。事实上,在Unity编辑器中,我可以做到这一点,但是当我构建项目时,它会抛出错误“无法添加组件,因为类'myClass'不存在!” – MasterKehos
你在游戏运行时编写这个类?你试图用这个来达到什么目的?也许有另一种方式来做到这一点。你能否提供一些见解,说明为什么你需要在运行时创建这个类? –