AIMP Forum

AIMP для Windows => Skin Editor / Skin Engine => Вопросы => Topic started by: Вячеслав С on May 03, 2019, 23:08:53

Title: Замена текстуры
Post by: Вячеслав С on May 03, 2019, 23:08:53
 Сколько классных скинов ещё 3-й версии редактора, а я никак не могу разобраться как же подменить общую текстуру скина. В руководстве только о кнопках :-\. А хочется тёмный и светлый вариант переключать...
 На примере Маяков 203-х и 233-х автор даже модели меняет. КАК!!! :o Отзовитесь, а то в который раз при обновлении проигрывателя слетает папка профиля вместе со всеми моими наработками :'( Но я уже редактор поставил в отдельной от проигрывателя папке и рвусь создать обложку для себя 8). Получалось не плохо, но хочу показать законченный вариант :D
 Заранее спасибо!
Title: Re: Замена текстуры
Post by: Artem on May 03, 2019, 23:31:41
Нет никакой общей текстуры скина. все стоит из сотни маленьких кусочков
Title: Re: Замена текстуры
Post by: Black_AVP on May 04, 2019, 07:13:33
... В руководстве только о кнопках :-\. А хочется тёмный и светлый вариант переключать...
Нет никакой разницы у чего менять текстуру: кнопка, панель, контейнер, ... В скрипте меняются только имена компонентов и ресурсов.
Title: Re: Замена текстуры
Post by: Вячеслав С on May 04, 2019, 13:08:05
Нет никакой разницы у чего менять текстуру: кнопка, панель, контейнер, ... В скрипте меняются только имена компонентов и ресурсов.
Можно показать лёгкий скрипт замены текстуры для общего контейнера? А то я не угадаю какое слово использовать вместо "Button" для контейнеров.
Title: Re: Замена текстуры
Post by: Вячеслав С on May 04, 2019, 13:18:32
Нет никакой общей текстуры скина. все стоит из сотни маленьких кусочков
Видимо не так поставил вопрос, по сути я хочу переключать текстуру контейнера, при помощи репозитория получается только  с кнопками, как в инструкции (которая если честно больше напоминает памятки для разработчика).
Title: Re: Замена текстуры
Post by: Black_AVP on May 04, 2019, 13:52:30
Можно показать лёгкий скрипт замены текстуры для общего контейнера? А то я не угадаю какое слово использовать вместо "Button" для контейнеров.
Угадывать не надо, надо подставить имя контейнера, как он у Вас обозван в дереве элементов. Повторюсь, выражения для любых элементов одинаковы.
Для контейнера, в частности, в простейшем случае можно использовать:

  FindObject('Имя контенера').Set('Texture.Id', 'Имя текстуры')
Title: Re: Замена текстуры
Post by: Вячеслав С on May 04, 2019, 14:57:30


  FindObject('Имя контенера').Set('Texture.Id', 'Имя текстуры')
Спасибо Вам большое, попробую - отпишусь!
Title: Re: Замена текстуры
Post by: McClaud on May 04, 2019, 15:08:57
На примере Маяков 203-х и 233-х автор даже модели меняет. КАК!!!
Смена текстур из репозитория скриптом легка и изящна.
В третьей же версии редактора для этого приходилось использовать сторонний счётчик, состояние которого определяло видимость соответствующих текстур. Если видимость какой-то текстуры подразумевала варианты, - дополнительно к счётчикам используются коммутаторы, или в биндинге прописываются условия...
Title: Re: Замена текстуры
Post by: Вячеслав С on May 04, 2019, 15:52:53
Смена текстур из репозитория скриптом легка и изящна.
Я сразу думал что в 3.х версии это реализуется как-то проще... Но вот с репозиторием у меня проблема :o Я ведь Паскалем и скриптами как-то не очень, хотя с остальными вопросами разобрался самостоятельно 8).
 Буду пробовать, ведь это как-то работает... Когда покажу пример со скриптом и объясню проблему, подскажите мне ошибку?
Title: Re: Замена текстуры
Post by: Artem on May 04, 2019, 16:42:31
Я сразу думал что в 3.х версии

В 3.ей версии это вообще не сделать
Title: Re: Замена текстуры
Post by: Вячеслав С on May 04, 2019, 20:02:43
В 3.ей версии это вообще не сделать
Я имел ввиду 3.хх версии AIMP (не редактора), где автор McClaud замену модели (текстуры) нажатием на логотип.
Title: Re: Замена текстуры
Post by: Вячеслав С on May 21, 2019, 14:13:24
https://drive.google.com/open?id=136FraFGJmGm_7n85NkWhcmHJskDKzkfD
Вот конкретный пример моей неудачи. Если не трудно посмотрите пожалуйста что я делаю не так ??? Просто задача: переключать кнопкой серую и чёрную структуру...
Заранее спасибо!
Title: Re: Замена текстуры
Post by: 17hapi on May 21, 2019, 14:22:52
Code: [Select]
procedure Execute(var State: Integer);
var 
BT: TComponent;
begin
BT := FindObject('liMain');
case State of
0: BT.Set('Texture.ID', 'Skin.liMain.Texture');
1: BT.Set('Texture.ID', 'Skin.TextureEx.Lite');
end;
end;
Title: Re: Замена текстуры
Post by: Вячеслав С on May 21, 2019, 14:43:46
17hapi Заработало!!! Спасибо, сейчас сяду и буду сравнивать посимвольно... Может и научусь чему ;) ;D
Title: Re: Замена текстуры
Post by: Вячеслав С on May 21, 2019, 16:29:15
Похоже тема закрыта, вроде ничего сложного  :) Дальше я сам...
Спасибо всем, кто отозвался! (особенно 17hapi  ;) )