@Gvinblyad1337

Почему скрипт не обрабатывает клонов объекта?

Собственно, скрипт на один объект работает правильно. Однако в сцене у меня генерация 10 таких объектов (то есть клоны) и на них скрипт не действует (то есть не меняет цвет элемента префаба и его тег на зеленый). Как это исправить?

public class RandomColorAndTag : MonoBehaviour
{

    System.Random randomElement = new System.Random();
    int el = 0 ;
  
    void Start()
    {

        el = randomElement.Next(2, 6);

             GameObject.Find($"Cube ({el})").GetComponent<Renderer>().material.color = Color.green;

            if (GameObject.Find($"Cube ({el})").GetComponent<Renderer>().material.color == Color.green)
            {
             GameObject.Find($"Cube ({el})").transform.tag = "Green";        
    }
}


Вот скрипт GameManager'a

public class GameManager : MonoBehaviour
{
    public GameObject firstBarrier;

    public GameObject secondBarrier;

    public int numOfBarriers = 0;

    System.Random rnd = new System.Random();

    System.Random rndY = new System.Random();

    Vector3 vector = new Vector3(5, 1/3 , 1);
    void Start()
    {
        for (numOfBarriers = 0; numOfBarriers < 10; numOfBarriers++)
        {
            int ewq = rnd.Next(1, 20);

            int rY = rndY.Next(1, 4);
           
            if(ewq <= 10)
            {
              Instantiate(firstBarrier, vector, Quaternion.identity);
            }
            else
            {
                Instantiate(secondBarrier, vector, Quaternion.identity);
            }

            vector.x -= 7;

            vector.y = rY;
        }
    }
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
Hackerman1
@Hackerman1
17 лет, плохое зрение.
Ты должен вешать и на них скрипт автоматом по идее. Точно не знаю, но кажется вешать скрипт при создании объекта через другой скрипт нельзя.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы