AS3: установка альфы на родительском спрайте без влияния на дочерние спрайты - PullRequest
2 голосов
/ 12 марта 2010

Глупый вопрос, наверное, но мне так и не удалось найти ответ:)

Если я изменю какое-либо значение для родительского спрайта, то же значение повлияет на все его дочерние элементы. Поэтому, если я установлю альфа или ширину для родителя, дочерний элемент автоматически получит то же значение.

Есть ли способ, которым я могу предотвратить это?

Ответы [ 4 ]

3 голосов
/ 03 мая 2010

Кажется, что выполнение альфа = 1 / альфа родительского работает нормально. Это означает, что для ребенка нужно установить альфа выше 1. По крайней мере, это работает с AS3 / Flash 10.

3 голосов
/ 12 марта 2010

Краткий ответ: нет

Более длинный ответ: для альфы нет работы, о которой я знаю. Что касается ширины, вы можете взломать что-нибудь для работы, чтобы дочерние клипы посмотрели, что представляет собой родительский scaleX, а затем увеличили свой собственный scaleX, если он меньше единицы, но я бы этого не делал. Лучший способ сделать это - создать клип-держатель, который не содержит графических ресурсов, но вы можете использовать его для перемещения других клипов вместе.

2 голосов
/ 14 апреля 2012

Если вы хотите вообще не изменять альфа-дочерние элементы (как предложил Дэвид), а предварительно отрисовывать спрайт до того, как он исчезнет (так что вы можете исчезнуть с человека, не показывая его костей), тогда установите blendMode = BlendMode.LAYER ;

Это недоступно при рендеринге с помощью графического процессора, поэтому на мобильных устройствах вам, вероятно, нужно создать растровое изображение, нарисовать спрайт в растровом изображении, а затем затенить растровое изображение. Может быть, это еще проще, поскольку в AIR есть обновленная функция cacheAsBitmap (она называется по-другому, то есть у вас есть как cacheAsBitmap, так и другая, о которой я говорю), которая, возможно, будет работать, но я не знаю, так как я не используйте AIR.

0 голосов
/ 12 марта 2010

если вы после измерений, то вы можете просто получить обратную матрицу родительского преобразования и применить ее к дочернему элементу, здесь есть довольно хорошее руководство, например: Transoform Matrix. *

см. Раздел Приложения -> Встряхивание смайликов.

другие вещи, такие как альфа, я не знаю, как обойти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...