【发布时间】:2018-07-24 09:22:16
【问题描述】:
我实际上不知道在 google 上搜索什么,所以我直接到这里,对此我很抱歉。我的问题是我有 Instantiate() 这样的对象
public void InstantiateObject(){
//the list has 5 objects in it .
for (int i = 0; i < list.Count; i++)
{
GameObject o = Instantiate(lobby_object) as GameObject;
o.transform.SetParent(pos_lobby_object);
o.transform.localScale = Vector3.one;
o.transform.name = "spr_boards " + lobby_object_no;
o.transform.localPosition = new Vector3(0, 0, 0);
NGUITools.SetActive(o, true);
}
}
结果是
spr_boards 1
spr_boards 2
spr_boards 3
spr_boards 4
spr_boards 5
顺便说一句,我在另一个脚本上有一个点击事件
public void InstantiateTheObject(){
fromAnotherScript.InstantiateObject();
}
然后将这个InstantiateTheObject拖到inspector上的按钮
现在我想单击其中一个对象并返回它们是什么数字 但我不知道该怎么做。
编辑:
更多信息
如果我点击了实例化spr_board 1,例如,这必须记录例如“这是对象 1”;
然后,如果我单击 spr_board 2,例如,这必须记录例如“这是对象 2”;
我试过了
public void InstantiateTheObject(){
Debug.Log("objects number is : " + lobby_object_no);
fromAnotherScript.InstantiateObject();
}
但问题是它总是得到 my last 的最后一个值。这不取决于我在实例化对象上单击的内容。
【问题讨论】:
-
好吧,你可以随便找个空格,然后从一个字符串中得到它后面的数字
-
你正在制作 5 个相同的东西并将它们放在彼此的顶部,所以我猜最后一个在顶部
-
我实际上拥有的列表顺序是
1,5,3,2,4,所以总是选择底部。所以它总是 4 @BugFinder。 -
那么你到底在挣扎什么(尽管已删除评论)似乎你的问题是你在点击你期望的东西时得到了一个不同的对象
-
哇,谢谢程序员