![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 6
|
Добрый день, всем.
Наткнулся я на стену и бьюсь об нее уже второй день. Может кто подскажет? Есть у меня некий объект. Нужно получить его отражение. Но отражение бледное и полупрозрачное. И не всего объекта, а части прилегающей к отражающему объекту. В общем, чтобы не усложнять, пусть будет просто полупрозрачное отражение. Делаю это так: var reflectBD:BitmapData=new BitmapData(100,60,true,0); // DitmapData для картинки отражения var reflectBitmap:Bitmap=new Bitmap(reflectBD); reflectBitmap.x=0; reflectBitmap.y=143; reflectBitmap.scaleY=-1; var moveMatrix:Matrix=new Matrix(1,0,0,1,0,-40); // матрица копирования картинки // Дальше настройка маски прозрачности var refMask:Shape = new Shape(); var matr:Matrix = new Matrix(); matr.createGradientBox(100, 60, getRadians(270), 0, 0); refMask.graphics.beginGradientFill(GradientType.LINEAR,[0x000000, 0xFFFFFF],[0,1],[50,255],matr); refMask.graphics.drawRect(0, 0,100, 60); refMask.graphics.endFill(); refMask.cacheAsBitmap=true; refMask.x=0; refMask.y=92; this.addChild(refMask); reflectBitmap.mask=refMask; this.addChild(reflectBitmap); И, естественно, никакой полупрозрачности я не получаю. Не получаю вообще никакой картинки. В отражении пустота. Если закоментировать reflectBitmap.mask=refMask; сделать маску видимой - то видно что она попадает на то место что нужно. И отражение появляется там где нужно. Но применить одно-к другому никак не получается. В чем тут дело, может кто поймет? Спасибо большое заранее. Последний раз редактировалось Wolsh; 24.02.2011 в 11:46. |
|
|||||
|
Оформите тегами [as3].
http://silin.su/#AS2/reflection вот у Силина похожее, портировать только правильно нужно.
__________________
тут я |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
barlog2000, для оформления своего кода надо использовать теги [code][/code]
Добавлено через 6 минут У Силина есть и на AS3 - http://silin.su/#AS3/gadgets/reflection
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 6
|
Прошу прощения, насчет отделения тэгами не знал.
Посмотрел пример Силина, ничего не дало. В общем то примеров подобных видел уже много, но хоть убей не могу найти отличий. Думал что профи заметят что не так. Самое интересное что предыдущая версия моего кода (с небольшими отличиями) работала, но очень специфически. На 1 компьютере есть отражение, на другом нет. Запускаю IE - отражение есть, запускаю Оперу - отражения нет. Хотя версия Флэша везде одна и таже. Мистика В любом случае спасибо за внимание. Добавлено через 2 часа 27 минут Вопрос решен. Глупо. На одном из объектов не стоял cacheAsBitmap. Только непонятно почему на некоторых компьютерах всетаки отражение показывалось. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:34. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| AS3 |
| Опции темы | |
| Опции просмотра | |
|
|