Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Скорость МувиКлипа
Flash Zone Forum > Macromedia Flash > Общие вопросы
Nik
Как известно, монтажная линейка мувиклипа не зависит от родительской монтажной линейки. Такая проблема - скорость мувиклипа меняется. Например, создал я символ со скоростью воспроизведения - 48fps. Потом из библиотеки вставил этот клип на монтажную линейку другого документа, где скорость воспроизведения 24fps. Но почему изменилась скорость клипа???!!! Или так и должно быть, просто я не догоняю... Помогите, кто чем сможет.
DJKOT
ну а ты-то сам как думаешь? smile.gif

конечно же при пересадке с 24 на 12 или 15 на 7..... да хоть откуда, при пересадке с высшей скорости на более низшую кадры пойдут с низкой скоростью.
MustLive
Nik

Вопрос интересный, но ты всё же поспешил с ним. Так как всё на самом деле очевидно.

К уже сказаному DJKOT, добавлю, что объяснить эту ситуацию можно по другому.

Главным является родительский fps - т.е. фпс документа. А все мувиклипы, вставляемые в какой-либо документ унаследуют его fps.

То что монтажная линейка мувиклипа не зависит от родительской монтажной линейки - это одно, а фпс - это другое. И не нужно их путать, т.к. фпс есть лишь один, фпс текущего документа (самой флешки). И если мувик сделать с одним фпс (в начальном документе), а потом перенести в другой документ, то и фпс у него будет равным заданому в новом документе.
tiHo
иными словами MustLive хочет сказать что в одном документе нельзя сделать 2 клипа с разными фпс. smile.gif
nikitar
Но fps можно динамически менять.
Подгружая на главный уровень ролики с другим fps.
tiHo
или в этом же, но с использованием setInterval
nikitar
Цитата
или в этом же, но с использованием setInterval

Что значит в этом же?
Подгружая/выгружая ролики?
tiHo
зачем? для нужного клипа делать свой setInterval, при котором будут меняться кадры. но при етом нужно чтобы на самой флешке был 120fps.

PS> я ща с ирк-сервера, был на канале языка токипона smile.gif) ща по русски еле пишу laugh.gif
Nik
Спасибо за ответы.
Т.е., насколько я понял, скорость проигрывания отдельного мувика менять все-таки можно? Подскажите, как это сделать???
tiHo
вот тебе исходник: [attachmentid=53]

думаю довольно просто. а уже как сделать кольцевое(безостановочное) воспроизведение клипов читай в теме: /forum/index.php?showforum=18
Nik
Спасибо! Все понятно! Только не ясно, почему скорость самой флэшки должна быть 120 фпс???
tiHo
елементарно ватсон biggrin.gif

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

ты остановить то его остоновил. а вот интервал продолжает работать, и щелкает кадры.

надо выключить его. для етого используется функция clearInterval(interval_ID)

в твоем случае:
--------------------------------
clearInterval(inter1);
--------------------------------
именно поэтому нужно интервалу присваивать имя. чтобы потом можно его было удалить. а если удалять не нужно, но и имя необязательно.

Nik
Спасибо, tiHo. Откуда ты все знаешь???
tiHo
Цитата(Nik @ 20.02.2007 - 14:56) *

Спасибо, tiHo.

наздоровье

Цитата(Nik @ 20.02.2007 - 14:56) *

Откуда ты все знаешь???

бугага laugh.gif

2 года с флеш мучаюсь, незнаю как от нее избавится. так и тянет. biggrin.gif

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

-------------------------------------------
clearInterval(_root.inter1);
-------------------------------------------

wink.gif
Nik
Блин, работает! Как все просто оказывается!! TiHo, ты Бог флэша!!! Спасибо.
tiHo
насчет Бога громко сказано smile.gif

наздоровье
Русская версия IP.Board © 2001-2008 IPS, Inc.