如何在Unity3D中识别不同的预制件?
我已经定义了一个名为“Item”并包含在参考资料中的预置 然后,我在GUI(Unity3D)中加载该预置如何在Unity3D中识别不同的预制件?,unity3d,ngui,Unity3d,Ngui,我已经定义了一个名为“Item”并包含在参考资料中的预置 然后,我在GUI(Unity3D)中加载该预置 对象预制_item=Resources.Load(“item”); GameObject g=实例化(预制_项)为GameObject; g、 transform.parent=this.transform; g、 transform.position=pos; Sprite Sprite=Resources.Load(“图像/项目”+项目,类型(Sprite))作为Sprite; g、 G
对象预制_item=Resources.Load(“item”);
GameObject g=实例化(预制_项)为GameObject;
g、 transform.parent=this.transform;
g、 transform.position=pos;
Sprite Sprite=Resources.Load(“图像/项目”+项目,类型(Sprite))作为Sprite;
g、 GetComponent().sprite=sprite;
我想通过“项目”预置加载不同项目的列表,
按下时如何识别不同的项目
谢谢大家 您可以为创建的每个游戏对象命名:
int i=1;
g.name = string.Format("item {0}", i);
然后,您可以使用以下方法进行识别:
var object = GameObject.Find("item 1");
如果要在按下时进行处理,可以:
Debug.Log ("item name: " + gameObject.name);
你可以这样写:
Debug.Log ("item name: " + gameObject.name, gameObject);
然后,可以在日志窗口中单击该消息。当您单击日志消息时,对象将被选中。如何获取GameObject的名称,然后进行比较?当我按下任何一个按钮时?谢谢你,大卫!g、 name返回游戏对象的名称,您可以使用string.Contains(…)函数进行比较。它只显示第一项1,不显示第2、3、9项。虽然,我按下第2项,第3项,…第9项可能是,因为我定义了一个预置,然后我加载这个预置?是的,那么你应该想想这些项目是如何创建的?如果您的预置是Item1,并且您多次实例化它,那么您将有很多“Item1”的克隆,而不是任何“Item2”。如果手动重命名对象,则它们可以是“项目2”、“项目3”…谢谢David和piojo!我已完成:)
Debug.Log ("item name: " + gameObject.name, gameObject);