AIMP Forum

AIMP for Windows => Предложения / Suggestions => Skin Editor, Skin Engine => Skin Engine => Topic started by: Killy on January 02, 2021, 18:43:06

Title: Универсальный способ работы с текстурами как списками спрайтов
Post by: Killy on January 02, 2021, 18:43:06
Есть неинтерактивный элемент, который иногда нужно двигать и, главное, менять картинку (размер один и тот же).
Я думал использовать TASEPanel как самый простой контрол на который можно натянуть картинку.
Но обнаружил, что, в отличие от контейнеров и интерактивных контролов, у него отсутствует State.
Контейнер в моём случае не подходит.

В качестве обходного пути, видимо, придётся добавлять пачку из порядка 16 текстур в ресурсы.
А хотелось иметь одну текстуру, sprite sheet, и указывать какой фрейм из неё использовать.

Тут же возникает другой вопрос: State нужно биндить или можно задать один раз из скрипта?
Возможно в данном случае будет логичнее добавить поле в Properties:
Code: [Select]
myPanel.Set('Skin.Frame', 5);У контролов с заданным State оно может игнорироваться.
Title: Re: Универсальный способ работы с текстурами как списками спрайтов
Post by: Black_AVP on January 02, 2021, 19:35:38
TASEAnimator может вполне выполнять функции аналогичные TImageList. Нужный кадр можно вызвать и биндингом и скриптом.
Title: Re: Универсальный способ работы с текстурами как списками спрайтов
Post by: Artem on January 02, 2021, 20:18:40
В 5-ке будет специальный элемент - TASEStateDisplay
Title: Re: Универсальный способ работы с текстурами как списками спрайтов
Post by: Killy on January 02, 2021, 20:30:56
Есть ли значимый оверхед по производительности если у меня будет с десяток таких TASEAnimator'ов?

TASEStateDisplay - отлично. Вполне возможно мой скин будет готов не раньше 5-й версии (а то и 6-й...)
Хотя данную конкретную деталь пока придётся делать на том что есть.
Title: Re: Универсальный способ работы с текстурами как списками спрайтов
Post by: Artem on January 02, 2021, 20:39:25
Есть ли значимый оверхед по производительности если у меня будет с десяток таких TASEAnimator'ов?

оверхед только в том, что каждый аниматор имеет таймер. Чем их больше, тем хуже.

TASEStateDisplay - отлично. Вполне возможно мой скин будет готов не раньше 5-й версии (а то и 6-й...)

Можете пока делать на аниматорах, а потом замените