Просмотр полной версии : Ускорение MovieClip
Здраствуйте! Вопрос вот в чем. Есть MovieClip который состоит из 400 фреймов. Мувик растровый. fps документа 31. Хочу сделать быструю прокрутку мувика до определённой позиции (фрейма). Что бы получилось что то вроде FastForward на видиомагнитофоне при включеном Play.
Ветви форума смотрел. Нарыл что надо использовать setInterval + udateAfterEvent, но проблема в том что мувик при таком использовании ускоряется незначительно (или я что то не так делал)...
либо тормоза (смотреть загрузку проца)
либо неправильно делаешь..
var frame:Number=5;
var speed:Number=1;
function forward(mc){
if(mc._currentframe<frame){
mc.nextFrame();
updateAfterEvent();
}else{
clearInterval(timer);
mc.play();
}
}
timer=setInterval(forward,speed,_root);
Спасибо. Смысл понял. Наверное еще нужно через фрейм рисовать, что было еще быстрее...
Быстрее, но когда рисую через 4 фрейма (так как скорости прокрутки не хватает), мувик двигается скачкообразно. Мне же нужно буквально прорисовать 400 фреймов (640 на 480) за 1 сек. Возможно ли такое?
Мне же нужно буквально прорисовать 400 фреймов (640 на 480) за 1 сек.Какая малость...
Не знаю как еще добится ефекта плавной прокрутки за 1 сек...
Не знаю как еще добится ефекта плавной прокрутки за 1 сек...С помощью
http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001974.html
Ух, как далеко ушла эта тема от начала. Но всё таки приятно видеть как народ просвещаеться :).
Возвращаясь к вопросу. Уяснил что надо сделать. Надо проиграть каждый 20тый кадр и при этом его размыть, должен получиться Motion Blur. Но вот не задача, не знаю как проиграть каждый 20 тый кадр так, что бы он прорисовался :( Если делать через gotoAndPlay, мувик переходит на кадры но не прорисовуеться. Хельп.
попробуй через gotoAndStop() =)
Вот мой код
onClipEvent(enterFrame)
{
this.gotoAndStop(this._currentframe + 20);
}
Но фреймы меняються скачкообразно. Нет плавности. Можно ли как то сгладить их движение? Фильтры тут не поможут, так как я пробывал. Если ставить Blur на мувик получиться размытый мувик который движеться скачкообразно.
Ну... ты можешь попробовать подублировать свой клип и проигрывать его копию с отставанием (если альфа у копии будет ~50) то будет какзаться, что переход более плавный... но я бы так не делал... в конце концов, даже видеомагнитофон на ускоренной перемотке показывает с худшим качеством...
Комп наверное тогда умрет...
Появилась еще сумасшедшая идея. Програмно создать пустой мувик, скопировать в него каждый 20тый фрейм с исходного, и проигрывать его как фастфорвард, после чего удалять. А исходный ставить в требуемое положение. Как думаете, стоит идея внимания?
есть другой вариант... но это опять же от процессора сильно зависит. Можно сделать наоборот. Т.е. Сделать так, чтобы при нормальном (родном ФПСе клип проигрывался в несколько раз быстрее, ну в 20 все равно не получится, но хотя бы 5-6 можно попробовать), а для обычного показа искусственно замедлять, а когда нужно прокрутить вперед-назад, то не замедлять...
Dendroid
07.11.2006, 02:48
Ну не может он быстрее! :) Видимо, кадры-то не лёгкие...
Легче уж тогда заранее отрендерить набор jpg (размытые, с небольшим разрешением, для отдельных кадров, чтобы их можно было быстро показать подряд, создав видимость перемотки). А можно и flv сгенерить, смазанный такой :)
С jpg не получиться - нужен альфа канал :( но за идею спасибо. Все таки еще поищу решения. Поверьте это того стоит :)
Dendroid
07.11.2006, 16:38
Ну не jpg, пуст будет png24 - смысл один и тот же...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.