Форум 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=130469)

greep 26.09.2009 21:59

Реверс
 
Читаю faq из раздела AS2, чтобы не доставать глупыми вопросами... Но не все бывает доходчиво объяснено... Заинтересовала тема реверса. Почитал Но тут совсем не ясно что и от чего. Анимация в руте и все работает, но как сделать обратное воспроизведение в мувиклипе? Объясните пожалуйста или покажите где почитать... Заранее благодарен.

kichSman 26.09.2009 22:47

Цитата:

Сообщение от greep (Сообщение 853841)
Читаю faq из раздела AS2, чтобы не доставать глупыми вопросами... Но не все бывает доходчиво объяснено... Заинтересовала тема реверса. Почитал Но тут совсем не ясно что и от чего. Анимация в руте и все работает, но как сделать обратное воспроизведение в мувиклипе? Объясните пожалуйста или покажите где почитать... Заранее благодарен.

тут самое главное булевые переменные true или false, расположение которых зависит от вас самого, но ссылаться на них нужно точно.

Дальше, в клипе, который должен реагировать на действия пользователя, на покадровую прослушку (читать, как повторение), т.е. на onEnterFrame указать условие, в котором, указать, если true то нужный клип проигрывается вперед, если лож (false) то назад

Ах да, на самой кнопе нужно указать когда она будет устанавливать true или false

greep 27.09.2009 13:22

В топике про реверс был пример с анимацией в руте. Незамысловатый скриптик позволяет двигать таймлайн вперед при наведении на кнопку и обратно при сведении.

Код AS3:

MovieClip.prototype.rev = function() {
        this.onEnterFrame = function(){
        if (go and this._currentframe<this._totalframes) {
                this.nextFrame();
        }
        if (!go and this._currentframe>1) {
                this.prevFrame();
        }
        }
}
this.rev();

Очевидно, что весь смысл этого скрипта в этой строке MovieClip.prototype. Не подскажете как тот же фокус сделать с мувиклипом?

Mnilionic 27.09.2009 17:29

Вложений: 1
я вот такой класс для этих дела написал.
добавились методы:

Код:

forward(); - плей в перёд
back(); - плей назад
gotoAndBack(frame); - переход на кадр и плей назад
gotoAndForward(frame); - переход на кадр и плей вперёд

при использовании этих методов отрабатывают события:
onFirstFrame:Function;
onLastFrame:Function;


greep 27.09.2009 17:36

А как приказать мувиклипу играться обратно? К примеру из рута?

Mnilionic 27.09.2009 17:52

Код:

my_clip.back();

greep 27.09.2009 21:39

Компилятор ругается... Classes may only be defined in external ActionScript 2.0 class scripts.

Mnilionic 27.09.2009 21:56

Сделай, что просит компилятор.

greep 27.09.2009 23:13

Я нуб честно говоря... Он просит еще какой-то класс? Чего же ему не хватает?

Добавлено через 7 минут
Classes may only be defined in external ActionScript 2.0 class scripts.
Классы могут бытлько во внешних файлах АС 2.0... Ну он во внешнем файле... Так я его добавлял...

Код AS1/AS2:

#include "MovieClipPlayBack.as"


mooncar 28.09.2009 01:01

Классы нужно не инклудить, а импортировать.
Попробуйте
Код AS1/AS2:

import MovieClipPlayBack;

А сам файл с классом положите в той же папке.

KiL33 28.09.2009 12:15

Вот тоже как то делал, без класса, и без мозгов..но всё же
http://flasher.ru/forum/showthread.p...=_currentframe

С кратностью в пять кадров анимация проигрывается вперед и также назад.

Только необходимо код в исходнике заменить ниже идущим в той теме посте.

greep 28.09.2009 17:15

Спасибо большое! Просто огромное!!!

KiL33 28.09.2009 17:22

Я посмотрел пример Mnilionic'a и посоветовал бы использовать его:)

greep 28.09.2009 22:47

Вложений: 1
не работает...

Mnilionic 28.09.2009 23:37

Вложений: 1
не нужно импортировать класс.
Кладёшь класс в туже папку, что и прект.
Создаёшь мувик с анимацией.
В библиотеке щёлкаешь правой клавишей мышки по этому мувику и выбираешь пункт linkage.
В поле Class 2.0 вписываешь имя класса. В данном случае MovieClipPlayBack.

Теперь все экземпляры этого клипа имеют свойства и методы этого класса.

greep 29.09.2009 02:20

Ясно! Спасибо большое. Скажите, а есть какие-нить ресурсы со всякими полезными классами? С удовольствием взял бы на вооружение?)

KiL33 29.09.2009 08:03

Если класс всё же импортировать
Код:

import MovieClipPlayBack;
то обращаться к функциям можно следующим образом

Код AS1/AS2:

btn.onPress=function(){
        mc.__proto__ = MovieClipPlayBack.prototype;
        mc.forward()
}
btn2.onPress=function(){
        mc.__proto__ = MovieClipPlayBack.prototype;
        mc.back()
}


Royerder 04.10.2009 14:50

Спасибо, всё получилось, вот только если использовать классовые команды, то мувик не останавливается на прописанном stop(); внутри мувика.
Как лечить?

Mnilionic 05.10.2009 00:26

Код:

this.stop();

greep 07.12.2009 17:24

Эхх, отличный класс!


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

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