Полная версия этой страницы:
Скорость МувиКлипа
Как известно, монтажная линейка мувиклипа не зависит от родительской монтажной линейки. Такая проблема - скорость мувиклипа меняется. Например, создал я символ со скоростью воспроизведения - 48fps. Потом из библиотеки вставил этот клип на монтажную линейку другого документа, где скорость воспроизведения 24fps. Но почему изменилась скорость клипа???!!! Или так и должно быть, просто я не догоняю... Помогите, кто чем сможет.
ну а ты-то сам как думаешь?

конечно же при пересадке с 24 на 12 или 15 на 7..... да хоть откуда, при пересадке с высшей скорости на более низшую кадры пойдут с низкой скоростью.
MustLive
13.02.2007 - 20:00
Nik
Вопрос интересный, но ты всё же поспешил с ним. Так как всё на самом деле очевидно.
К уже сказаному DJKOT, добавлю, что объяснить эту ситуацию можно по другому.
Главным является родительский fps - т.е. фпс документа. А все мувиклипы, вставляемые в какой-либо документ унаследуют его fps.
То что монтажная линейка мувиклипа не зависит от родительской монтажной линейки - это одно, а фпс - это другое. И не нужно их путать, т.к. фпс есть лишь один, фпс текущего документа (самой флешки). И если мувик сделать с одним фпс (в начальном документе), а потом перенести в другой документ, то и фпс у него будет равным заданому в новом документе.
иными словами MustLive хочет сказать что в одном документе нельзя сделать 2 клипа с разными фпс.
nikitar
13.02.2007 - 23:03
Но fps можно динамически менять.
Подгружая на главный уровень ролики с другим fps.
или в этом же, но с использованием setInterval
nikitar
14.02.2007 - 02:33
Цитата
или в этом же, но с использованием setInterval
Что значит в этом же?
Подгружая/выгружая ролики?
зачем? для нужного клипа делать свой setInterval, при котором будут меняться кадры. но при етом нужно чтобы на самой флешке был 120fps.
PS> я ща с ирк-сервера, был на канале языка токипона

) ща по русски еле пишу
Спасибо за ответы.
Т.е., насколько я понял, скорость проигрывания отдельного мувика менять все-таки можно? Подскажите, как это сделать???
вот тебе исходник: [attachmentid=53]
думаю довольно просто. а уже как сделать кольцевое(безостановочное) воспроизведение клипов читай в теме:
/forum/index.php?showforum=18
Спасибо! Все понятно! Только не ясно, почему скорость самой флэшки должна быть 120 фпс???
елементарно ватсон

чтобы если вдруг понадобится сделать клип со большой скоростью воспроизведения, он неограничивался 12фпс, а использовал хоть все 120 возможных. вообщем будет более плавная смена кадров
nikitar
14.02.2007 - 17:55
120 fps - это очень и очень чревато. Как я уже упоминал в другом месте, браузер сильно уменьшает fps и будут просто очень сильно разные результаты. В оффлайне и онлайне. В плеере отдельном и в браузере.
Теперь все ясно. Просто я забыл, что максимальная скорость 120 - думал больше... Спасибо огромное всем!!!
TiHo, ответь на такой вопрос: я создал по твоему примеру клип с нужной мне скоростью. Эта скорость должна меняться
inter1 = setInterval(f1, x);
function f1()
{
clip1.nextFrame();
}
где x-скорость, которую я могу изменить. Но такая проблема - при проигрывании другого клипа до конца clip1 должен остановиться [по идее _root.clip1.stop()]. Но проблема в том, что выполняется функция и клип не останавливается. Это что же, надо усложнять функцию???
ну подумай:
ты остановить то его остоновил. а вот интервал продолжает работать, и щелкает кадры.
надо выключить его. для етого используется функция clearInterval(interval_ID)
в твоем случае:
--------------------------------
clearInterval(inter1);
--------------------------------
именно поэтому нужно интервалу присваивать имя. чтобы потом можно его было удалить. а если удалять не нужно, но и имя необязательно.
Спасибо, tiHo. Откуда ты все знаешь???
Цитата(Nik @ 20.02.2007 - 14:56)

Спасибо, tiHo.
наздоровье
Цитата(Nik @ 20.02.2007 - 14:56)

Откуда ты все знаешь???
бугага
2 года с флеш мучаюсь, незнаю как от нее избавится. так и тянет.
Видимо я полный ламер... Объясню свою проблему еще раз: есть два клима mc1 и mc2. Нужно, чтобы скорость первого клипа изменялась во время воспроизведения самой флэшки. Для этого использовал свойство (в кадре основной монтажной линейки):
inter1 = setInterval(f1, x);
function f1()
{
mc1.nextFrame();
}
И мне нужно, чтобы в какой-то момент времени mc1 остановился. Например после окончания mc2. В последнем кадре второго клипа пишу:
_root.clearInterval(inter1);
_root.mc1.stop();
Но первый клип продолжает играть!!! Я кучу книг пересмотрел, в интернете искал, но не могу решить эту проблему. Помогите кто чем сможет...
а ты попробуй сделай вот так:
-------------------------------------------clearInterval(_root.inter1);-------------------------------------------
Блин, работает! Как все просто оказывается!! TiHo, ты Бог флэша!!! Спасибо.
насчет Бога громко сказано
наздоровье