Просмотр полной версии : Обратная анимация
Итак, проблема в следующем: никак не могу найти описание обратной анимации :( Надо сделать так, чтобы по нажатию кнопки несколько кадров (но не все в мувике! Допустим, из 50го обратно до 10, а там - остановка). КАК СДЕЛАТЬ??? Подскажите, ПЛЗ!!!!
Nox Noctis
26.06.2002, 02:29
таких тем было очень много (очень ) :)
даже если посчитать за последний месяц...
я недавно в исходники добавил вариант решения этой задачи...
(программирование -> другое -> advanced playhead control)
а стобы остановка произошла в определенном кадре, тебе нужно в событии onClipEvent(enterFrame) любого клипа проверять на каком кадре сейчас идет проигрывание (см. _currentframe)
У меня Flash 5й, а не МХ :(
Nox Noctis
27.06.2002, 17:18
тогда все делается через онКлипЕвент(ентерфрейм).
– останавливаем клип, который нужно запустить назад
– если нужно, то gotoAndStop(кадр_с_которого_нужно_начать);
– на любом клипе делаем событие onClipEvent(enterFrame) в котором пишем следующее:
if (clip._currentframe!=endFrame) {
clip.prevFrame();
} else {
clip.stop();
}
где clip - это путь к клипу, которым надо управлять, а endFrame - это номер кадра на котором нужно остановиться.
чтобы это начало выполняться только в определенный момент, нужен какой-нибудь флажок.
например, можно передавать в управляющий клип ссылку на то, чем нужно управлять.
onClipEvent(enterFrame) {
if (clip) {
if (clip._currentframe!=endFrame) {
clip.prevFrame();
} else {
clip.stop();
delete clip;
}
}
}
то есть clip - это переменная содержащая ссылку.
когда нужно запустить управление клипом - мы эту переменную определяем, когда нужно отключить управление клипом, мы эту переменную стираем.
можно все это оформит в виде функции, которой, например, передавать параметрами откуда докуда играть и ссылку на клип.
но в любом случае эту функцию нужно вызывать по ентерФрейму
дешево и сердито :)
Nox Noctis
27.06.2002, 17:44
например:
// функция запускающая обратную перемотку
// link - ссылка на нужный мувик, from - начиная с какого кадра играть, to - на каком кадре остановиться
function reverse(link, from, to) {
link.gotoAndStop(from);
control.clip = link;
control.endFrame = to;
}
//
// 'control' - это имя клипа, управляющего проигрыванием
// на этом клипе висит следующее:
onClipEvent (enterFrame) {
if (clip) {
if (clip._currentframe>endFrame) {
clip.prevFrame();
} else {
clip.stop();
delete clip;
}
}
}
теперь когда нам нужно скажем прокрутить мувик '_root.test' с кадра 30 до кадра 20 пишем в любом экшне:
_root.reverse(_root.test, 30, 20);
Спасибо за советы! Буду пробовать ..... :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.