Скрыть и показать многие игровые объекты при нажатии кнопки

Я пытаюсь разработать приложение дополненной реальности, используя Vuforia . Я должен показать конкретные Gameobject для цели изображения, скажем, куб для Image Target 1 и прямоугольник для Image target 2, треугольник для target 3 и так далее для 10 целей. Обе цели будут отслеживаться одновременно. Все, что я хочу сделать, это сначала показать куб, а при нажатии кнопки он должен скрыть прямоугольник. и снова, когда кнопка нажата, должен отображаться треугольник, скрывающий куб и прямоугольник. Все это с помощью одной кнопки и нескольких кликов. Все, что я знаю, это то, что все должно быть изменено в сценарии Defaukttrackableeventhandler.cs.

Что я делаю прямо сейчас, так это то, что каждая сцена имеет целевое изображение и кнопку для каждого scene, поэтому при нажатии кнопки загружается next scene. Я знаю, что это не правильный путь. Я новичок и я учусь.


person Sam Sundar    schedule 17.09.2018    source источник


Ответы (1)


Создайте скрипт со списком игровых объектов и активным объектом:

public activeIndex = 0;
public List<GameObject> gos = new List<GameObject>();

Назначьте и создайте функцию, которая обрабатывает щелчок:

public void ButtonClickEvent(){
    go[activeIndex].SetActive(false);
    activeIndex ++;
    if(activeIndex >= gos.count){
        activeIndex = 0;
        go[activeIndex].SetActive(true);
    }
}

Добавьте скрипт к игровому объекту, такому как «GameManager», привяжите событие клика к функции объекта. Добавьте свои объекты в свойство списка в инспекторе. Отключите все игровые объекты, которые являются фигурами.

Это непроверенный код, но он должен вас приблизить. Это будет перемещаться по массиву объектов и деактивировать текущий и активировать следующий.

person Eddy Howard    schedule 17.09.2018
comment
Я получаю много ошибок при этом. Вот скриншот. - person Sam Sundar; 18.09.2018
comment
Сэм Сундар, у вас много ошибок, потому что вы поместили метод ButtonClickEvent() вне тела класса. - person Andrew Snejovski; 18.09.2018
comment
Я очень новичок в программировании. Я не знаю, как правильно изменить :( - person Sam Sundar; 19.09.2018
comment
Итак, первый шаг — изучение основ. Найдите в сети учебник по Unity3D/C# и следуйте ему. Есть сотни видеороликов на YouTube, которые научат вас. Это лучшее, что вы можете сделать на данный момент. После того, как вы это сделаете, сядьте в чат-канал Unity3D IRC, и вы будете иметь постоянный поток информации и помощи на кончиках ваших пальцев. Удачи! - person Eddy Howard; 20.09.2018