Удаление объектов при нажатии

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Удаление объектов при нажатии

Сообщение Rimsky 24 май 2018, 14:30

На сцене имеется 3 объекта(1 родительский и два клона). Есть скрипт, который реализует удаление ближайшего объекта к заданной точке...ну, в идеале он должен удалять ближайший объект, но удаляет все три одновременно. Как исправить ? Функция, возвращающая ближайший объект работает исправно(проверял ).
Синтаксис:
Используется csharp
                if (bBox._bClick) {
                       
                        boxTarget = bBox.transform.position;
                        NearestFruit.transform.position += (boxTarget - NearestFruit.transform.position).normalized * fSpeed   *  Time.deltaTime;
               
                }
                else if (aBox._aClick) {
                        boxTarget = aBox.transform.position;
                        NearestFruit.transform.position += (boxTarget - NearestFruit.transform.position).normalized * fSpeed   *  Time.deltaTime;

                }
                else if (paBox._paClick) {
                        boxTarget = paBox.transform.position;
                        NearestFruit.transform.position += (boxTarget - NearestFruit.transform.position).normalized * fSpeed   *  Time.deltaTime;

                }



                if ((boxTarget - NearestFruit.transform.position).sqrMagnitude < 0.18f)
                {
                        Destroy(gameObject);
                }

        }

Ниже функция возвращающая ближайший объект
Синтаксис:
Используется csharp
GameObject GetNearestFruit(GameObject Source, GameObject[] DestObjects)
        {
               
                GameObject Nearest = DestObjects [0];
                float ShorterDistance = Vector3.Distance (Source.transform.position, DestObjects[0].transform.position);
                for (int i = 0; i < 3; i++) {
                        float Distance = Vector3.Distance (Source.transform.position, DestObjects[i].transform.position);
                        if (Distance < ShorterDistance) {
                                Nearest = DestObjects[i];
                                ShorterDistance = Distance;

                        }
                }
                return Nearest;
        }
Rimsky
UNец
 
Сообщения: 4
Зарегистрирован: 24 май 2018, 14:07

Re: Удаление объектов при нажатии

Сообщение 1max1 24 май 2018, 15:18

Ну так если скрипт висит на трёх объектах и условие выполняется для каждого из них, то естественно все троя будут удалены. Создай другой скрипт который будет контролировать их по отдельности.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Удаление объектов при нажатии

Сообщение Rimsky 26 май 2018, 11:37

А не подскажете, как реализовать такой скрипт? у меня пока ничего в голову не приходит
Rimsky
UNец
 
Сообщения: 4
Зарегистрирован: 24 май 2018, 14:07

Re: Удаление объектов при нажатии

Сообщение Rimsky 27 май 2018, 06:24

Справился самостоятельно. Реализовал удаление по именам)
Rimsky
UNец
 
Сообщения: 4
Зарегистрирован: 24 май 2018, 14:07


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 19