Просмотр полной версии : Реверс
Читаю faq из раздела AS2, чтобы не доставать глупыми вопросами... Но не все бывает доходчиво объяснено... Заинтересовала тема реверса. Почитал (http://www.flasher.ru/forum/showthread.php?threadid=51205) Но тут совсем не ясно что и от чего. Анимация в руте и все работает, но как сделать обратное воспроизведение в мувиклипе? Объясните пожалуйста или покажите где почитать... Заранее благодарен.
kichSman
26.09.2009, 22:47
Читаю faq из раздела AS2, чтобы не доставать глупыми вопросами... Но не все бывает доходчиво объяснено... Заинтересовала тема реверса. Почитал (http://www.flasher.ru/forum/showthread.php?threadid=51205) Но тут совсем не ясно что и от чего. Анимация в руте и все работает, но как сделать обратное воспроизведение в мувиклипе? Объясните пожалуйста или покажите где почитать... Заранее благодарен.
тут самое главное булевые переменные true или false, расположение которых зависит от вас самого, но ссылаться на них нужно точно.
Дальше, в клипе, который должен реагировать на действия пользователя, на покадровую прослушку (читать, как повторение), т.е. на onEnterFrame указать условие, в котором, указать, если true то нужный клип проигрывается вперед, если лож (false) то назад
Ах да, на самой кнопе нужно указать когда она будет устанавливать true или false
В топике про реверс был пример с анимацией в руте. Незамысловатый скриптик позволяет двигать таймлайн вперед при наведении на кнопку и обратно при сведении.
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
я вот такой класс для этих дела написал.
добавились методы:
forward(); - плей в перёд
back(); - плей назад
gotoAndBack(frame); - переход на кадр и плей назад
gotoAndForward(frame); - переход на кадр и плей вперёд
при использовании этих методов отрабатывают события:
onFirstFrame:Function;
onLastFrame:Function;
А как приказать мувиклипу играться обратно? К примеру из рута?
Mnilionic
27.09.2009, 17:52
my_clip.back();
Компилятор ругается... Classes may only be defined in external ActionScript 2.0 class scripts.
Mnilionic
27.09.2009, 21:56
Сделай, что просит компилятор.
Я нуб честно говоря... Он просит еще какой-то класс? Чего же ему не хватает?
Добавлено через 7 минут
Classes may only be defined in external ActionScript 2.0 class scripts.
Классы могут бытлько во внешних файлах АС 2.0... Ну он во внешнем файле... Так я его добавлял...
#include "MovieClipPlayBack.as"
Классы нужно не инклудить, а импортировать.
Попробуйте
import MovieClipPlayBack;
А сам файл с классом положите в той же папке.
Вот тоже как то делал, без класса, и без мозгов..но всё же
http://flasher.ru/forum/showthread.php?t=124897&highlight=_currentframe
С кратностью в пять кадров анимация проигрывается вперед и также назад.
Только необходимо код в исходнике заменить ниже идущим в той теме посте.
Спасибо большое! Просто огромное!!!
Я посмотрел пример Mnilionic'a и посоветовал бы использовать его:)
Mnilionic
28.09.2009, 23:37
не нужно импортировать класс.
Кладёшь класс в туже папку, что и прект.
Создаёшь мувик с анимацией.
В библиотеке щёлкаешь правой клавишей мышки по этому мувику и выбираешь пункт linkage.
В поле Class 2.0 вписываешь имя класса. В данном случае MovieClipPlayBack.
Теперь все экземпляры этого клипа имеют свойства и методы этого класса.
Ясно! Спасибо большое. Скажите, а есть какие-нить ресурсы со всякими полезными классами? С удовольствием взял бы на вооружение?)
Если класс всё же импортировать
import MovieClipPlayBack;
то обращаться к функциям можно следующим образом
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();
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.