Как управлять «дочерними объектами» на «уровне» при создании игр в Unity?C#

Место общения программистов C#
Ответить
Anonymous
 Как управлять «дочерними объектами» на «уровне» при создании игр в Unity?

Сообщение Anonymous »

Я собираюсь создать игру на Unity. (Я новичок в программировании)
На каждом уровне Unity есть границы и стрелки, которые являются игровыми объектами.
Что такое наиболее эффективный код C# для управления ими?
Они не изменяются и останутся до конца игры.
Мне было трудно управлять каждым объектом, объявляя его как публичная переменная все отдельно. Я неоднократно дергал каждый объект мышкой. Я прикрепил это к скрипту плеера.(PlayerManager)
пример:

Код: Выделить всё

public GameObject level1;

public GameObject border1OfLevel1;
public GameObject border2OfLevel1;
public GameObject border3OfLevel1;

public GameObject arrow1OfLevel1;
public GameObject arrow2OfLevel1;

public GameObject level2;
//and so on
Поэтому я попросил Chat GPT рассказать мне о различных методах объявления переменных (?) для решения этой проблемы. Это методы, которые он рассматривает.
  • Tuple
  • Set
  • Array
  • list
  • Словарь
  • Stack
  • очередь
    LinkedList
Я услышал ответ Chat Gpt, но до сих пор не понимаю созданный им код. Я не могу сказать, эффективно ли это.
Вот его код:

Код: Выделить всё

GameObject[][] borderObjects = new GameObject[backgrounds.GetLength(0)][];

for (int i = 0; i < backgrounds.GetLength(0); i++)
{

int numberOfBorders = backgrounds[i].transform.childCount;
borderObjects[i] = new GameObject[numberOfBorders];

for (int j = 0; j < numberOfBorders; j++)
{

Transform borderTransform = backgrounds[i].transform.GetChild(j);

borderObjects[i][j] = borderTransform.gameObject;
}
}
Я также пытался использовать функцию Prefab Unity, но не смог ее использовать, поскольку функции каждого объекта были разными.
Если вы заняты, буду признателен если бы вы могли связать меня с соответствующим сайтом, который может быть полезен.

Подробнее здесь: https://stackoverflow.com/questions/788 ... s-in-unity
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»