![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Mar 2011
Адрес: Таганрог
Сообщений: 21
|
в цикле осуществляю загрузку картинок в 3Д галлерею
аналог галереи из шаблона 31713 собственно внутренность цикла: var bitmap:Bitmap = loader.getBitmap(galleryImagesCollection[index]); var bitmapHolder:Sprite = new Sprite(); bitmapHolder.addChild( bitmap ); var bfm:MovieMaterial = new MovieMaterial(bitmapHolder); bfm.oneSide = false; bfm.interactive = true; p = new Plane(bfm, picWidth, picHeight, 2, 2); thumbs.push( { pl:p, rotY:Math.random() * 360, rotZ:Math.random() * 360, z:Math.random() * 3000 + 1000 } ); p.rotationY =Math.random() * 360; p.rotationZ = Math.random() * 360; p.z = -2000; p.x = (columNum * picWidth)+(deltaX*columNum); p.y = -lineCor; p.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, releaseFunction ); p.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, overFunction ); p.addEventListener(InteractiveScene3DEvent.OBJECT_OUT, outFunction ); planesHolder.addChild( p ); соттвесвенно: private function overFunction( event:InteractiveScene3DEvent):void { if ( !imageZoomed ) { trace("over X: "+event.target.x); trace("over Y: "+event.target.y); var rect:Rectangle = new Rectangle(event.target.x, event.target.y, event.target.material.bitmap.width, event.target.material.bitmap.height); var pt:Point = new Point(event.target.x, event.target.y); var arr:Array = [ 0.3, 0.6, 0.1, 0.0, 0.0, 0.3, 0.6, 0.1, 0.0, 0.0, 0.3, 0.6, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]; var CMfilter:ColorMatrixFilter = new ColorMatrixFilter(arr); event.target.material.bitmap.applyFilter(event.target.material.bitmap, rect, pt, CMfilter); } private function outFunction( event:InteractiveScene3DEvent):void { if ( !imageZoomed ) { var rect:Rectangle = new Rectangle(event.target.x, event.target.y, event.target.material.bitmap.width, event.target.material.bitmap.height); var pt:Point = new Point(event.target.x, event.target.y); var arr:Array = [ 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]; var CMfilter:ColorMatrixFilter = new ColorMatrixFilter(arr); event.target.material.bitmap.applyFilter(event.target.material.bitmap, rect, pt, CMfilter); } } Вопрос1: событие срабатывает конкретно на нужный объект - о чем свидетельствует трейсинг координат но применение фильтра происходит ТОЛЬКО к первой картинке с координатами 0:0. не пойму в чем проблема... Может я не правильно задаю прямоугольник или точку? Картинки получаются по линиям, у второй линии отрицательные координаты по Y. Вопрос2: Вернуть цвета - применить тот же фильтр только с другим массивом - как у меня по OBJECT_OUT? у bitmap понятное дело - просто обнулить массив фильтров - а тут применяется фильтр к BitmapData Последний раз редактировалось stanley; 22.03.2011 в 18:11. Причина: правильная формулировка |
![]() |
Часовой пояс GMT +4, время: 01:17. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| bitmapdata , ColorMatrixFilter , event , Filter , papervision |
|
|