2016-03-10 4 views
1

Итак, я хочу изменить фон кнопки переключения при нажатии. Я уже создал кнопку, используя новую систему пользовательского интерфейса, и создал скрипт с функцией изменения фона.Изменение фона кнопки переключения при нажатии

В представлении сцены я вижу, что целевая графика кнопки переключения меняется, как я хочу, но фон переключателя по-прежнему не изменяется.

Я прикрепляю то, что я вижу на инспекторе, надеюсь, вы можете сказать мне, что я делаю неправильно. Благодаря!

enter image description here

+1

Вы задали этот вопрос более 3 раз в 3 дня. Какого цвета вы пытаетесь изменить? Измените кнопку переключения с белого на черный? Или изменить изображение кнопки? Почему бы не предоставить код, который вы должны переключить на задний план в своем вопросе. – Programmer

+0

Но я добился прогресса, я не вставлял код, потому что он работает. На изображении, которое я отправил, вы можете видеть, что целевая графика меняется, когда переключатель переключается в состояние. –

+0

Я не хочу менять цвет фона, хочу изменить изображение фона. Пожалуйста, см. График цели в инспекторе –

ответ

2

так смотреть на НАСТОЯЩЕГО

https://stackoverflow.com/a/35921218/294884

и при этом

public void ChangeBackground() 
{ 
     if (theToggle.isOn) { WRONG 
      theToggle.image = Background1;} WRONG 
     else 
     { theToggle.image = Background2; } WRONG 
     }   
} 

уведомления он меняет то, что называется "тумблер".

НЕПРАВИЛЬНО!

WRONG!

WRONG!

FIRST, сделать переменную "iWantToChangeTHIS" ...

public Image iWantToChangeTHIS; 
public Sprite oneSprite; 
public Sprite twoSprite; 
public Toggle theToggle; 

public void ChangeBackground() 
    { 
    if (theToggle.isOn) 
    iWantToChangeTHIS.sprite = oneSprite; 
    else 
    iWantToChangeTHIS.sprite = twoSprite; 
    }   
} 

, кстати, вы можете написать, что, как это ...

iWantToChangeTHIS.sprite=theToggle.isOn?oneSprite:twoSprite; 

.. просто так вы знаете!

Затем перетащите что вы действительно хотите, чтобы перейти к переменному «iWantToChangeTHIS»

Как обычно, перетащите переключатель в положении «theToggle» и перетащите два спрайта (ФРА панели Project) к элементам Sprite.

И НАКОНЕЦ ПИВА

+1

Это похоже на то, что он ищет, но его вопрос немного запутан. – Programmer

+0

@JoeBlow Кажется, я не могу назвать изображение на iWantToChangeTHIS, он говорит, что для UnityEngine.UI нет определения.image –

+0

Я думаю, что я мог бы вызвать параметр изображения раньше, потому что он вызывался в Toggle, и теперь я вызываю его на изображение –

Смежные вопросы