AIMP Forum
AIMP for Windows => Предложения / Suggestions => Skin Editor, Skin Engine => Skin Engine => Topic started by: Killy on January 02, 2021, 18:43:06
-
Есть неинтерактивный элемент, который иногда нужно двигать и, главное, менять картинку (размер один и тот же).
Я думал использовать TASEPanel как самый простой контрол на который можно натянуть картинку.
Но обнаружил, что, в отличие от контейнеров и интерактивных контролов, у него отсутствует State.
Контейнер в моём случае не подходит.
В качестве обходного пути, видимо, придётся добавлять пачку из порядка 16 текстур в ресурсы.
А хотелось иметь одну текстуру, sprite sheet, и указывать какой фрейм из неё использовать.
Тут же возникает другой вопрос: State нужно биндить или можно задать один раз из скрипта?
Возможно в данном случае будет логичнее добавить поле в Properties:
myPanel.Set('Skin.Frame', 5);
У контролов с заданным State оно может игнорироваться.
-
TASEAnimator может вполне выполнять функции аналогичные TImageList. Нужный кадр можно вызвать и биндингом и скриптом.
-
В 5-ке будет специальный элемент - TASEStateDisplay
-
Есть ли значимый оверхед по производительности если у меня будет с десяток таких TASEAnimator'ов?
TASEStateDisplay - отлично. Вполне возможно мой скин будет готов не раньше 5-й версии (а то и 6-й...)
Хотя данную конкретную деталь пока придётся делать на том что есть.
-
Есть ли значимый оверхед по производительности если у меня будет с десяток таких TASEAnimator'ов?
оверхед только в том, что каждый аниматор имеет таймер. Чем их больше, тем хуже.
TASEStateDisplay - отлично. Вполне возможно мой скин будет готов не раньше 5-й версии (а то и 6-й...)
Можете пока делать на аниматорах, а потом замените