我实际上不知道在 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 1spr_boards 2spr_boards 3spr_boards 4spr_boards 5顺便说一下,我在另一个脚本上有一个点击事件public void InstantiateTheObject(){ fromAnotherScript.InstantiateObject();}然后将其拖到InstantiateTheObject检查器上的按钮上现在我想单击此对象之一并返回它们的编号,但我不知道该怎么做。编辑:更多信息例如,如果我单击实例化spr_board 1,则必须记录例如“这是对象 1”;然后,如果我单击spr_board 2例如这必须记录例如“这是对象 2`;我试过这个public void InstantiateTheObject(){ Debug.Log("objects number is : " + lobby_object_no); fromAnotherScript.InstantiateObject();}但问题是它总是得到我 last 的最后一个值。这不取决于我单击实例化对象的内容。
1 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
如何从转换名称中获取数字:
RaycastHit hit;
void Update()
{
if (Input.GetMouseButtonDown (0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray, out hit))
{
GameObject ourObject = hit.collider.gameObject;
string prefix = "spr_boards ";
string txtNum = ourObject.transform.name.Remove(0, prefix.Length);
int number = Int32.Parse(txtNum);
Debug.Log ("this is object " + number);
}
}
}
int number 是从 1 到 5 的数字
- 1 回答
- 0 关注
- 216 浏览
添加回答
举报
0/150
提交
取消