我制作了一个要在游戏中实例化的预制件。
但是因为我希望可以在“幕后”实例化它,这意味着在“玩家正在做其他事情时”创建所有这些预制件的多个副本。
因此,我将生成预制件的代码放在了另一个线程中。
但是Unity告诉我“只能从主线程调用Load。”
我试图将代码移动到协程中,但是不幸的是协程在“主线程”中运行!
或者也许我应该说,它们不会“并行并发”地执行多个协程!
所以有人可以这么友好地教我该怎么做!?
非常感谢!
代码:(如果需要,即使我认为这样做也没有用)
void Start()
{
Thread t = new Thread(Do);
t.Start();
}
private void Do()
{
for(int i=0;i<1000;i++)
{
GameObject RaceGO = (GameObject)(Resources.Load("Race"));
RaceGO.transform.SetParent(Content);
}
}