![]() |
|
||||||||||
|
|||||
|
[+4 18.09.08]
Регистрация: May 2006
Сообщений: 79
|
ситуация в следующем:
Некий "навороченный" эффект, в целях увеличения быстродействия, рендриться в серию битмапов, что бы позже можно было без тормозов его проиграть. Вопрос - как это реализовать? Я пытаюсь сделать так: private function renderFrame(frame){
videoSource.gotoAndStop(frame); //исходник
rendredVideo.gotoAndStop(frame); // новый пустой мувик куда я наивно пытаюсь складывать битмапы
var tmpBMD = new BitmapData(640,480);
tmpBMD.draw(videoSource);
tmpBMD.applyFilter(tmpBMD,tmpBMD.rect,new Point(0,0),new ColorMatrixFilter(mtx));
tmpBMD.applyFilter(tmpBMD,tmpBMD.rect,new Point(0,0),new BlurFilter(30,30));
tmpBMD.applyFilter(tmpBMD,tmpBMD.rect,new Point(0,0),_filter);
rendredVideo.addChild( new Bitmap(tmpBMD));
}
|
|
|||||
|
а не легче написать простенький класс для хранения кадров и их проигрывания?
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет... |
|
|||||
|
[+4 18.09.08]
Регистрация: May 2006
Сообщений: 79
|
Т.е. хранить битмапдаты в массиве и отрисовывать на ENTER_FRAME?
|
|
|||||
|
Цитата:
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет... |
|
|||||
|
Дело в том, что, насколько я знаю, gotoAndStop будет выполнен не сразу, а только при всплытии события ENTER_FRAME, т.е. после
videoSource.gotoAndStop(frame); rendredVideo.gotoAndStop(frame); вы должны сделать следующее videoSource.addEventListener(Event.ENTER_FRAME, _onEnterFrame); А также нужно определить метод-обработчик события _onEnterFrame: private function _onEnterFrame(evt:Evnet):void{
var tmpBMD = new BitmapData(640,480);
tmpBMD.draw(videoSource);
tmpBMD.applyFilter(tmpBMD,tmpBMD.rect,new Point(0,0),new ColorMatrixFilter(mtx));
tmpBMD.applyFilter(tmpBMD,tmpBMD.rect,new Point(0,0),new BlurFilter(30,30));
tmpBMD.applyFilter(tmpBMD,tmpBMD.rect,new Point(0,0),_filter);
rendredVideo.addChild( new Bitmap(tmpBMD));
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|