Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как проиграть ролик назад в моём случае? (http://www.flasher.ru/forum/showthread.php?t=123986)

lemesh 17.04.2009 17:03

Как проиграть ролик назад в моём случае?
 
Всем привет! Возник такой вопрос: я создал, вдохновлённый сайтом prezi.com, для примера ролик. Захотелось сделать кнопку которая бы назад на 20 кадров проигрывала бы назад мой мувиклип (т.е. анимация шла бы назад), как бэ это по-человечески сделать? сильно не пинайте, если боян или вопрос тупой)

исходник тут: http://***************/files/222405768/123.rar.html
или тут http://***********/11656772

читал на эту тему уроки и статьи, но видимых результатов не дало(

ОльгаЮрьевна 17.04.2009 17:17

такое не подойдет - MovieClip.prevFrame()?

lemesh 17.04.2009 17:30

ох знать бы как этим пользоваться!...

думаю это не совсем то что мне нужно...
этот скрипт только возращает на один кадр назад, а мне бы 20 кадров хотя бы (и чтоб анимация вся тоже проигрывалась назад)) и в моём случае не совсем подходит, хотя я допускаю что, что-то криво сделал...

lexa2000lexa 17.04.2009 17:32

вот так можно
Код AS1/AS2:

but.onPress = function(){
        onEnterFrame = function(){
                if(my_mc._currentframe!=0){
                        my_mc.prevFrame();
                        }
                        else{
                                delete onEnterFrame;
                                }
        }
}

где my_mc клип который нужно проиграть с последнего по 1 кадр.

lemesh 17.04.2009 17:39

хмммм, что-то не работает - в моём случае кнопка находится внутри самого мувиклипа, должно быть из-за этого и проблемы все

ОльгаЮрьевна 17.04.2009 17:44

Цитата:

Сообщение от lemesh (Сообщение 813617)
хмммм, что-то не работает - в моём случае кнопка находится внутри самого мувиклипа, должно быть из-за этого и проблемы все

... ой... а чего она там делает? и за что она отвечает?... просто не понятно:)

lemesh 17.04.2009 17:48

Вот причесал исходник: добавил кнопку Back, которая должна на 20 кадров проигрывать назад мувиклип

http://***************/files/222419479/1234.fla.html
http://***********/11657367

Цитата:

ой... а чего она там делает? и за что она отвечает?... просто не понятно
- вот так я смастерил) я попытался вытащить кнопки за мувиклип и они перстали работать - вот такие пироги)

Добавлено через 11 минут
сейчас прыгал с бубном вокруг
Код AS1/AS2:

onEnterFrame

но результатов так и не дало, вопрос ещё в силе, если решить задачу можно другим способом, буду рад)

KiL33 17.04.2009 18:07

Вам нужно сделать один клип который будет содержать всю вашу анимацию обозвать его my_mc. Кнопка должа находиться на главной сцене.

lemesh 17.04.2009 18:26

таааааааааак, уже вытащил кнопки из мувиклипа и одна из них даже работает (та которая вперёд прокручивает)

вот обновлённый исходник:
http://***********/11658005
http://***************/files/222430317/12345.fla.html

а вот с проигрыванием "назад" опять проблемы... ни один из скриптов описанных здесь не работает, да прости меня, Господи)

поясню ещё немного, мошт кому не понятно что я хочу:
мувиклип состоит из ключевых точек, где он останавливается, кнопки служат для навигации между этими отрезками... т.е. предположим мы находимся в точке "B" мувиклипа, кнопка "вперед" перемещает нас в точку "C", а кнопка "назад" в точку "A" и в этом случае проигрывается назад вся анимация (20 кадров)... вот с этой кнопкой у меня и проблемы)

Добавлено через 3 минуты
Цитата:

такое не подойдет - MovieClip.prevFrame()?
кстати заработало, но с косяками от которых хочется избавиться... при нажатии я попадаю на один кадр назад, а хочется чтоб на 20, и не сразу рывком, а чтобы назад вся анимация проигралась)

ОльгаЮрьевна 17.04.2009 18:31

lemesh... вот КАКОЙ вы... в 4 посте есть-же код:)))

lemesh 17.04.2009 18:40

Вот что мне продукция Adobe выдаёт при использовании этого скрипта:
Statement must appear within on handler
Код AS1/AS2:

but.onPress = function(){

...(((

ОльгаЮрьевна 17.04.2009 18:59

... убегаю.. посмотрите код:

Код AS1/AS2:

ovieClip.prototype.p_prevFrame = function() {// функция проигрывания мувика назад
this.onEnterFrame = function() {// onEnterFrame - обработчик событий, воспроизводит заданное событие с частотой равной частоте кадров в документе
 if (this._currentframe == 1) {  // если дошли до первого фрейма мувика
  delete this.onEnterFrame; // обработчик удаляем
 } else {                                  // в противном случае
  this.prevFrame();              // перемещается на фрейм назад
 }
};
};
// Пример использования
mc.stop(); //останавливаем мувик, что-бы не проигрывался без нашего ведома
mc.onRollOver = function() { // реакция на наведение
this.play();                    // проигрываем мувик вперед
};
mc.onRollOut = function() { // реакция на отведение
this.p_prevFrame();    // запускаем функцию проигрывания назад
};


lemesh 17.04.2009 19:07

спасибо, но честное слово ничерта не понятно (нет ну утрирую, конечно), к тому же опять не работает ни скрипт ни кнопка и вылезает куча ошибок(

Добавлено через 22 минуты
я додумался до примитивного скрипта
Цитата:

my_mc.gotoAndPlay(my_mc._currentFrame - 19)
но опять же не хочется чтобы был такой резкий переход(

KiL33 18.04.2009 08:08

Цитата:

Сообщение от lemesh (Сообщение 813643)
поясню ещё немного, мошт кому не понятно что я хочу...

Товарищ, теперь я поясню. Все понимают, чего вы хотите. Но никто не захочет вам помочь, если вы будите пальцы веером расставлять.
Код, приведенный lexa2000lexa рабочий, а если у вас руки не из того места растут, чтобы тупо копиПастить, обращайтесь в вакансии..

lemesh 20.04.2009 15:06

Спасибо, буду ковырять код сей код, а руки, действительно в плане флеша у меня далеко не на нужном месте...

Добавлено через 33 минуты
Боги сжалились надо мной - у меня наконец-то получилось) Хочу извиниться, что отвлекал всех тех кто мне пытался помочь, без вас у меня бы ничего не вышло, низкий вам поклон, спасибо!)


Часовой пояс GMT +4, время: 09:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.