![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 56
|
как сделать слушатель мыши для объекта(sprite или MovieClip) , который "проходил" бы через альфа канал png картинки ,лежащей над этим объектом?
Поиском ничего не нашел... |
|
|||||
|
Ага... Кури "mouseEnabled" и "mouseChildren"...
|
|
|||||
|
Регистрация: Dec 2008
Сообщений: 45
|
mouseEnabled=false игнорит все события мыши для объекта, вне зависимости, есть там видимые части или нет.. т.е. если для картинки с прозрачными областями сделать mouseEnabled=false, то объект лежащей под картинкой будет реагировать на мышку так, как будто картинки над ним нет вообще, и без разницы, есть ли там прозрачные области или нет.
|
|
|||||
|
Регистрация: Nov 2009
Сообщений: 56
|
да, согласен-эти методы подходят, но если у меня на этом объекте(который лежит сверху) тоже весят слушатели события мыши, то как быть?
Добавлено через 4 минуты Цитата:
|
|
|||||
|
Цитата:
Например: Можно сначала проверять по какому пикселу битмапы вы кликнули. И если прозрачность этого пиксела подходит под ваше собственное определение прозрачности (скажем более 80-85%) то верхний клип не реагирует на клик а нижнему отправляется событие. Ну и так далее... |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
По моему маска тут нужна. Либо программно нарисованная, либо заранее во FlashIDE.
|
|
|||||
|
Регистрация: Nov 2009
Сообщений: 56
|
попробовал сделать как посоветовал Bgg. Но не получилось. В этом коде слушатель все равно не проходит через альфу. Может я че то не так пишу?
image = new Bitmap(e.target.content.bitmapData.clone()); var bitmapData:BitmapData = new BitmapData(image.width,image.height, true, 0xFF0000) var mtrx:Array=[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 255]; var filter:ColorMatrixFilter = new ColorMatrixFilter(mtrx); image.bitmapData.applyFilter(image.bitmapData, image.bitmapData.rect, new Point(), filter); container.addChild(image); |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|