AIMP Forum

AIMP для Windows => Skin Editor / Skin Engine => Вопросы => Topic started by: D2NP on September 05, 2017, 16:42:02

Title: Эффект свечения кнопки поверх группы кнопок.
Post by: D2NP on September 05, 2017, 16:42:02
Для примера кнопки проводника из Windows 7:
(https://i.imgur.com/fZuWUax.gif)
При наведении курсора на любую из кнопок появляется текстура "свечения". Текстура появляется поверх этой группы кнопок.
Интересует как такое реализовать в редакторе (SE 4.5)?


В моем случае нужно чтобы свечение появлялось при нажатии на кнопку. Для отдельно стоящей кнопки это можно реализовать добавив свечение в третий кадр.
(https://i.imgur.com/MPkC5d4.png)
Но разместив кнопки рядом друг с другом, как на примере во вложении, получится, что свечение будет перекрыто соседними кнопками.
(https://i.imgur.com/D6RJvQU.png)(https://i.imgur.com/96nP0VQ.png)

Т.е. нужно каким-то образом отобразить третий кадр поверх группы кнопок, либо сделать свечение отдельными, появляющимися элементами. Возможно ли?


И попутный вопрос. На примере выше, свечение кнопки выступает за границу окна проводника, в SE подобное возможно?
Title: Re: Эффект свечения кнопки поверх группы кнопок.
Post by: Soolo on September 05, 2017, 16:47:38
В моем случае нужно чтобы свечение появлялось при нажатии на кнопку. Для отдельно стоящей кнопки это можно реализовать добавив свечение в третий кадр.
Можно текстуры кнопок нарисовать в фоне, а сами кнопки сделать прозрачными, но со светящимся третьим кадром.

И попутный вопрос. На примере выше, свечение кнопки выступает за границу окна проводника, в SE подобное возможно?
Это делается с помощью тени для всей обложки. Видимая тень или невидимая - это не важно.
В обложке BLISS это есть, можно посмотреть в редакторе, как это реализовано.
Title: Re: Эффект свечения кнопки поверх группы кнопок.
Post by: D2NP on September 05, 2017, 18:08:23
Можно текстуры кнопок нарисовать в фоне, а сами кнопки сделать прозрачными, но со светящимся третьим кадром.
Это делается с помощью тени для всей обложки. Видимая тень или невидимая - это не важно.
В обложке BLISS это есть, можно посмотреть в редакторе, как это реализовано.
Второй и третий кадр кнопки будет отличаться от первого(прозрачность\тень). Так что в фоне их не нарисовать, из-за того, что второй и третий кадр будет накладываться на текстуру кнопки в фоне.

Новый пример:
(https://i.imgur.com/VN418Tc.gif)

Может другие способы есть?

Можно текстуры кнопок нарисовать в фоне, а сами кнопки сделать прозрачными, но со светящимся третьим кадром.
Это делается с помощью тени для всей обложки. Видимая тень или невидимая - это не важно.
В обложке BLISS это есть, можно посмотреть в редакторе, как это реализовано.
Спасибо. Разобрался. Поместил кнопки В контейнер "тени для всей обложки".
Title: Re: Эффект свечения кнопки поверх группы кнопок.
Post by: Soolo on September 05, 2017, 18:34:35
Второй и третий кадр кнопки будет отличаться от первого(прозрачность\тень). Так что в фоне их не нарисовать, из-за того, что второй и третий кадр будет накладываться на текстуру кнопки в фоне.
Может другие способы есть?
У кнопки сделайте первый кадр прозрачный, а второй и третий нарисуйте.
Title: Re: Эффект свечения кнопки поверх группы кнопок.
Post by: D2NP on September 05, 2017, 19:20:15
Как я написал, в таком случае кадры(второй, третий) с прозрачностью\тенью будут накладываться на первый кадр нарисованный в фоне. Смешиваться.
Все-таки думал что это можно реализовать на уровне редактора, без вырезания кадров\частей кадра.
Спасибо за ответы.
Title: Re: Эффект свечения кнопки поверх группы кнопок.
Post by: Soolo on September 05, 2017, 19:23:49
Как я написал, в таком случае кадры(второй, третий) с прозрачностью\тенью будут накладываться на первый кадр нарисованный в фоне. Смешиваться.
Не думаю, что это нерешаемая задача. На мой абстрактный взгляд всё должно срастись.
Если дадите текстуры или проект - могу попробовать реализовать более предметно.
Title: Re: Эффект свечения кнопки поверх группы кнопок.
Post by: D2NP on September 05, 2017, 19:49:00
Не думаю, что это нерешаемая задача. На мой абстрактный взгляд всё должно срастись.
Если дадите текстуры или проект - могу попробовать реализовать более предметно.
Да, но тут я сам справлюсь, спасибо. Такое решение и представлял когда свечение рисовал.

Может оформить как предложение для Skin Engine? Вроде как очевидная функция для кнопок..
Title: Re: Эффект свечения кнопки поверх группы кнопок.
Post by: Black_AVP on September 05, 2017, 20:55:11
Может оформить как предложение для Skin Engine? Вроде как очевидная функция для кнопок..
А что тут можно со стороны скин-движка сделать? Все элементы располагаются в окнах по своему Z-Order, и если они перекрывают друг друга, то полностью виден будет только с бОльшим Z-Order.

В моем случае нужно чтобы свечение появлялось при нажатии на кнопку.
В 4.5 элементарно сделать это с помощью обработчиков, хоть на нажатие, хоть на наведение, меняя скриптом Z-Order кнопки в этой группе. (Пример во влож.)
Текстуры при этом у кнопок будут обычные.
Title: Re: Эффект свечения кнопки поверх группы кнопок.
Post by: D2NP on September 05, 2017, 23:16:29
А что тут можно со стороны скин-движка сделать? Все элементы располагаются в окнах по своему Z-Order, и если они перекрывают друг друга, то полностью виден будет только с бОльшим Z-Order.
В 4.5 элементарно сделать это с помощью обработчиков, хоть на нажатие, хоть на наведение, меняя скриптом Z-Order кнопки в этой группе. (Пример во влож.)
Текстуры при этом у кнопок будут обычные.
Спасибо, работает. То, что и хотел, еще добавил маску для кнопки + переназначил событие у кнопок на OnMouseDown.