Создание дочернего объекта из префаба

443
03 февраля 2017, 03:14

Из префаба в цикле создаются объекты:

    for (int YY = 0; YY < row; YY++)
    {
        for (int XX = 0; XX < col; XX++)
        {
            map[XX, YY] = Instantiate(Box, MyPoze, Quaternion.identity) as GameObject;
        }
    }

Нужно каждому объекту создать дочерний объект, тоже из префаба. (первый объект - ячейка, спрайт, второй - 3д текст).

Answer 1

Если я правильно понял, то нужно воспользоваться Transform.SetParent, с помощью которого можно установить один объект в другой. Выглядит это примерно так:

childGO.transform.SetParent(parentGO);

Дословно он говорит, что нужно некоему объекту (childGO) сделать родителем другой объект.

Более подробный пример:

public GameObject player;
//Invoked when a button is clicked.
public void Example(Transform newParent)
{
    //Sets "newParent" as the new parent of the player GameObject.
    player.transform.SetParent(newParent);
    //Same as above, except this makes the player keep its local orientation rather than its global orientation.
    player.transform.SetParent(newParent, false);
}

Здесь мы объект "игрок" встраиваем в Transform объекта newParent.

Соответственно генерируете один объект и другой. Затем над к одному из них применяете вышеприведенный метод.

Answer 2

Для моего случая код будет таким, вдруг кому понадобится

public GameObject Box;
public GameObject Txt;
for (int YY = 0; YY < row; YY++)
{
    for (int XX = 0; XX < col; XX++)
    {
        map[XX, YY] = Instantiate(Box, MyPoze, Quaternion.identity) as GameObject;
        GameObject text = Instantiate (Txt) as GameObject;
        text.transform.SetParent(map[XX, YY].transform,false);
    }
}
READ ALSO
Привязка Command к нажатию ПКМ

Привязка Command к нажатию ПКМ

Когда я записываю следующее: то при нажатии на кнопку левой кнопкой мыши сработает команда ActivateКак мне сделать так, чтобы при нажатии ПКМ...

409
Self-host web api

Self-host web api

Когда используется HttpListener, у него есть свойство Prefixes, туда мы можем добавить строку вида http://+:8080 и всё будет хорошо работатьЯ хочу использовать...

352
Способы добавления записей в Access

Способы добавления записей в Access

Для добавления записей в Access использую код:

591
Восстановить значения после XOR

Восстановить значения после XOR

Ниже приведён код, нужно из полученного значения восстановить значения '47533', '23182', '52170'

438