Как отключить некоторые объекты в массивах? - PullRequest
0 голосов
/ 16 июня 2020

У меня есть сценарий для переключения оружия, у него есть массив для получения компонента MeshRenderer всех элементов, тогда я могу включить элемент, который мне нужен, но я не могу отключить другие. * Я просто не использовал SetActive (true) / (false) , потому что мне нужен активный планшет для обновления моей защиты. Видео, в котором я делаю этот скрипт: https://www.youtube.com/watch?v=Dn_BUIVdAPg, спасибо за внимание!

1 Ответ

0 голосов
/ 16 июня 2020

У вас странный лог c внутри void SelectWeapon() метода. Но я осмелюсь предположить, что следующий код может вам помочь:

foreach(Transform gun in transform)
{
    if (gunCount == choosenGun)
    {
        meshes[choosenGun].enabled = true;
    }
    else
    {
        meshes[gunCount].enabled = false;
    }

    gunCount++;
}

или

foreach(Transform gun in transform)
{           
    switch(gunCount)
    {
        case 0:
            meshes[choosenGun].enabled = true;
            break;

        default:
            meshes[gunCount].enabled = false;
            break;
    }

    gunCount++;
}

Кстати: meshes[3] = null; вызовет исключение, когда вы попытаетесь получить доступ к .enabled свойство. Лучше не допускать таких нулевых элементов или всегда проверять наличие null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...