Я создает кнопки, когда создается мое «Меню выбора героев». Эти кнопки будут получить их связанные изображения/Sprites в зависимости от «Героя», который они будут представлять.Unity3D C# Button sprite swap - прикрепить изображения во время выполнения
У меня есть следующий метод, но я не понимаю , какую переменную я должен применить спрайты к.
Button _thisButton;
Sprite _normalSprite;
Sprite _highlightSprite;
protected override void DoStateTransition (SelectionState state, bool instant){
switch (state) {
case Selectable.SelectionState.Normal:
_thisButton.image = _normalSprite; //.image is not correct
Debug.Log("statenormalasd");
break;
case Selectable.SelectionState.Highlighted:
_thisButton.image = _normalSprite; //.image is not correct
//...
}
Государства, безусловно, работают, я подтвердил это через Debug.Log (...);
Опять проблема: какое значение нужно изменить, если нет .image?
Спасибо заранее, Csharpest
Действительно. Ну, это неловко: D. Большое спасибо ^^ может принять ваш ответ за 3 минуты. – Csharpest
Да, я на самом деле кешу в поле «_thisButtonImage = _thisButton.GetComponent ();» in void Start(). Затем я просто назову «_thisButtonImage.sprite = _normalSprite;». Я предполагаю, что он более эффективен, чем вызов GetComponent каждый раз, когда изменяется состояние. Это правда? –
Csharpest
Действительно, очень верно! – Maakep