我正在做一个App,当相机指向一个QR时,它将实例化某个模型,然后该App与一个网站通信,并显示与该模型相关的一个地方的数据(例如:植物园,它显示一些花和一个地方的数据)。
然后,该应用程序通信到一个网站,并显示与模型相关的地方的数据(例如:植物园,它显示了一些花和一个关于生态学的文本)。
问题是,虽然我可以用JSON来使用网站上的文本,但我似乎找不到一种方法来做同样的事情。
我还有一段代码,可以制作一个Json,这个代码返回的是模型的名称。
我的问题是,有没有办法用这个名字来搜索我的assets中的预制件,从而实例化预制件?
解决办法,在编辑器中分配prefabs,在你的脚本中有对不同prefabs的引用。
public GameObject prefab1;
public GameObject prefab2;
当你想实例化你的预制件时...
switch (JSONstring) {
case "Garden":
Instantiate(prefab1, new Vector3(0, 0, 0), Quaternion.identity);
break;
}
是的,这是可能的,创建一个字典(字符串,GameObject)和一个列表,为检查器创建一个新的字典。
Private void Awake(){ dictionary = new Dictionary (string,GameObject); / <- (不要用括号) foreach ( GameObject go in yourList ) { dictionary.Add(go, go.name);
}
Private void Search(string name){ if(dictionary.ContainssKey ( name )){
Instantiate(dictionary[name])。
}
}