![]() |
|
||||||||||
|
|
|
|||||
|
Суть вопроса вот в чем:
есть ролик, который предполагается открывать на разных машинах с разными мощностями. То, что на моем пне 4 мелькает со ультразвуковой скоростью на машине секретарши еле ползает. Существует ли возможность встаивания во флеш-ролик скрипта, который позволял бы, в зависимости от мощности машины, проигрывать этот ролик с той или иной частотой кадров? Мне кажется, вопрос довольно актуальный, особенно если флеш со звуком, который синхронно должен идти вместе с анимацией.
__________________
softcat |
|
|||||
|
Регистрация: May 2002
Адрес: Ростов-на_Дону
Сообщений: 542
|
Делаешь у клипа максимальную частоту кадров, например 120.
-------------------------------------- Далее речь идет об AS С помощью таймера вычисляешь реальную. После этого, в зависимости от реальной частоты устанавливаешь коэффициент повышения скорости програмной анимации. Всё это делаешь при событии онлоад. И твоя лампочка будет мигать дважды в секунду при любой скорости реального проигрывания клипа. При повышенных требованиях к стабильности - проделываешь вычисление реальной частоты периодически, опять-же используя таймер. Но это помогает только при программной анимации. При покадровой-только дискретно можно перепрыгивать через один, через 2, через 3 кадра, или как-то комбинировать (напр. через 1, на следущий, через 1, на след...), чтобы увеличить кол-во пропускаемых кадров не в 2, а в 1,5 раза. Плавности это не добавляет. Так-что ИМХУ - лучше делать программную анимацию. И тестировать на самой слабой машине. Удачи!
__________________
Uri-Uri Как могут существовать вещи, которые никогда не случаются? Измена мира к лучшему! |
|
|||||
|
Я программировать не умею
![]() Я только дизайнер, поэтому могу сделать покадровую анимацию и использовать стандартные экшены, свои написать не смогу, вот такая беда...
__________________
softcat |
|
|||||
|
какой то бред...
читаю не врубаюсь... ребзя, очнитесь! если я загружу растр 1600x1200 и буду его скроллировать как фон в игре, то никаие программные таймеры не помогут на медленной машине двигать его быстрее!!!!! на фига делать 120 FPS, а потом замедлять это на быстых машинах??? ставь 12 FPS и делай все на этом frameRate. А если тормозить будет на слабой машине, то снизь качество отображения клипа и все чем ты можешь помочь компу. 2 uri-uri: ты сам то пробовал что говоришь? Где логика? 2 softcat: единственный способ избежать тормозов, это изначально рисовать очень аккуратную графику, без лишних деталей. отработавшие клипы выгружать или удалять. Поменьше баловаться со свойством клипов _alpha. Как можно меньше распределенного по клипам кода (особенно для события entеrFrame)! Максимально использовать досрочное завершение циклов. При проверке разных значений для одной переменной (особенно в циклах) вместо пары IF поставить один if ELSE. Оптимизировать работу с переменными: вместо: for(t=1;t<200;t++){ _root.dot.duplicateMovieClip("newclip"+t,t); eval("newclip"+t)._alpha=random(100); eval("newclip"+t)._rotation=random(180); } пишем: for(t=1;t<200;t++){ n="newclip"+t; _root.dot.duplicateMovieClip(n,t); _root[n]._alpha=random(100); _root[n]._rotation=random(180); } или даже for(t=1;t<200;t++){ n="newclip"+t; _root.dot.duplicateMovieClip(n,t,{_alpha:random(100),_rotation:random(180)}); } короче головой работаем!
__________________
Max. |
![]() |
Часовой пояс GMT +4, время: 06:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|