Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 24.02.2021, 02:25   #1
Биг-лон
Новичок
Джуниор
 
Регистрация: 24.02.2021
Сообщений: 1
Вопрос Unity AddListener

Пытаюсь создать подписки на события для кнопокок.
Код:
    public Button Up;
    public Button Fire;
    public Button Down;    
    public Button One;
    public Button Two;
    public Button Three;
    public Button Four;
    public Button Five;
    public Button Six;
    public Button Seven;
    public Button Eight;
    public Button Nine;

void Start()
    {
        Up.onClick.AddListener(TaskOnClickUp);
        Fire.onClick.AddListener(TaskOnClickFire);
        Down.onClick.AddListener(TaskOnClickDown);


        One.onClick.AddListener(TaskOnClickOne);
        Two.onClick.AddListener(TaskOnClickTwo);
        Three.onClick.AddListener(TaskOnClickThree);
        Four.onClick.AddListener(TaskOnClickFour);
        Five.onClick.AddListener(TaskOnClickFive);
        Six.onClick.AddListener(TaskOnClickSix);
        Seven.onClick.AddListener(TaskOnClickSeven);
        Eight.onClick.AddListener(TaskOnClickEight);
        Nine.onClick.AddListener(TaskOnClickNine);
    }

   void TaskOnClickUp() 
    {
        Debug.Log("Up");
    }
    void TaskOnClickFire()
    {
        Debug.Log("Fire");
    }
    void TaskOnClickDown()
    {
        Debug.Log("Down");
    }
    void TaskOnClickOne()
    {
        Debug.Log("1");
    }
    void TaskOnClickTwo()
    {
        Debug.Log("2");
    }
    void TaskOnClickThree()
    {
        Debug.Log("3");
    }
    void TaskOnClickFour()
    {
        Debug.Log("4");
    }
    void TaskOnClickFive()
    {
        Debug.Log("5");
    }
    void TaskOnClickSix()
    {
        Debug.Log("6");
    }
    void TaskOnClickSeven()
    {
        Debug.Log("7");
    }
    void TaskOnClickEight()
    {
        Debug.Log("8");
    }
    void TaskOnClickNine()
    {
        Debug.Log("9");
    }
Из этого списка выводится только Up Fire и Down, но если к примеру перенести Two.onClick.AddListener(TaskOnClick Two); первым, то он выведит эту двойку, но потом он перестанет что-либо выводить даже после рестартов и приходится перезапускать Юнити. (Даже Debug.Log("02"); не вывел)
А если One.onClick.AddListener(TaskOnClick One); то и "1" не выведит.
Я понимаю, что возможно есть какие-то ограничения на количество подписок, но так выходит, что 3 кнопки максимум?
Биг-лон вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра на Unity Nik_022 Фриланс 0 24.09.2017 14:11
C# и Unity WillyWonder C# (си шарп) 5 19.05.2017 09:23
Unity Leyla84 Помощь студентам 0 31.01.2014 23:04
Unity 3D bumer7721 Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 10.06.2011 18:19
Unity 3D bumer7721 Помощь студентам 0 10.06.2011 15:16


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS