PDA

Просмотр полной версии : Вопрос: Как увеличить скорость прокрутки отдельного MoveiClip'a в FlaMX? >> Help <<


pavel_m
18.06.2002, 15:39
Всем доброе утро... Народ подскажите как увеличить скорость прокрутки отдельного MoveiClip'a при этом чтобы другие мувики играли со старой скоростью..Может быть можно какнить через AS ? помогите плиз.
Спасибо...

DeliMIter
18.06.2002, 22:47
//коэфициент скорости
_speedx = 1.5;
//база
_counter = 0;

function onEnterFrame() {
gotoAndStop(Math.round(_speedx * ++_counter));
}

Вряд ли получится плавно...

DUDE
19.06.2002, 01:52
2 DeliMIter!!
А чуть подробне плз?

pavel_m
19.06.2002, 12:24
DeliMIter - спасибо большое за помощь... Все получилось...:))

Nox Noctis
19.06.2002, 14:19
тааак... :)
предлагаю другой вариант - для МХ

основное достоинство этого варианта - он никак не привязан к событию onEnterFrame

прототип - оружие пролетариата !... :)

Advanced Playhead Control (http://www.xentarknight.narod.ru/APControl.nx)
копируем файлик в папку, где лежит фла, в первом кадре мувика ставим
_global.$rate = defaultFPS; , где вместо defaultFPS подставляете значение fps в вашем свфнике
#include "APControl.nx"
...и экспериментируем :)

что делает вся эта куча прототипов:
– заменяет стандартные методы объекта MovieClip на новые
– _стандартным образом_ при этом эти методы все равно _работают_
– во всех случаях, когда нестандартная функция не необходима, запускается стандартная
– возможно запустить мувик на проигрывание с любой (в пределах разумного) скоростью
– возможно запустить мувик в обратном направлении
– удобно практично недорого :)

недостатки:
– setInterval работает не очень регулярно, то есть интервалы между вызовами все-таки "чуть-чуть" отличаются друг от друга (ну, тут уж ничего не поделаешь - таймлайн тоже неточен...)

как пользоваться:
– не забудьте определить _global.$rate ! (см выше)
– пишем play(fps); где fps - это желаемое количество кадров в секунду
– если fps<0 то мувик проигрывается в обратном направлении
– если fps не указать вообще - то это сработает как обычный play()
– пишем gotoAndPlay(label, fps) - первый параметр стандартный, а второй - такой же как для play
– повторюсь, если вызывать функции стандартным образом, все тоже работает

если увидите в коде какие-нить глупости - не удивляйтесь :)
все это написано за одной бутылкой туборга сегодня ночью :)

примерчик использования:
(пишем fps, убираем фокус, смотрим :))

DeliMIter
20.06.2002, 21:53
Мало было пива...