Синтаксис:
Используется csharp
void Start()
{
Debug.Log("111");
}
{
Debug.Log("111");
}
В другом скрипте (уже с другого объекта) исполняю код:
Синтаксис:
Используется csharp
private GameObject rootBlock;
private GameObject[] blocks;
void Start()
{
rootBlock = GameObject.Find("Ground_1");
blocks = new GameObject[10];
for (int i = 0; i < 10; i++)
{
blocks[i] = Instantiate(rootBlock, new Vector3(rootBlock.transform.position.x + i*rootBlock.transform.localScale.x,
rootBlock.transform.position.y, 0), Quaternion.identity);
}
}
private GameObject[] blocks;
void Start()
{
rootBlock = GameObject.Find("Ground_1");
blocks = new GameObject[10];
for (int i = 0; i < 10; i++)
{
blocks[i] = Instantiate(rootBlock, new Vector3(rootBlock.transform.position.x + i*rootBlock.transform.localScale.x,
rootBlock.transform.position.y, 0), Quaternion.identity);
}
}
При этом в консоли 10 раз выводится текст "111". Вопрос почему? Как я понял копирование объекта инициирует компиляцию скрипта, но не понял почему так. И как правильно сделать, чтобы выполнялось только один раз?