Нужна помощь!
Я вот часто наблюдаю флэш кнопки, где при наводке, форма начинает изменяться, а когда отводишь курсор, она на определённом кадре начинает проигрывать мувик(кнопки) назад.
Может кто подскажет, как это делается?
Нужна помощь!
Я вот часто наблюдаю флэш кнопки, где при наводке, форма начинает изменяться, а когда отводишь курсор, она на определённом кадре начинает проигрывать мувик(кнопки) назад.
Может кто подскажет, как это делается?
Естественно, задом наперёд мувик нельзя проиграть - для этого нужно сдублировать нормальный и инвертнуть анимацию на дубликате. И при событии rollOut его запускать. Либо в ключевые кадры кнопки поместить два мувика. Либо с помощью gotoAndPlay и stop оперировать одним мувиком...
как я понимаю имеется ввиду реверсивная анимация, за счет родительского контролирующего мувикаЕстественно, задом наперёд мувик нельзя проиграть - для этого нужно сдублировать нормальный и инвертнуть анимацию на дубликате. И при событии rollOut его запускать. Либо в ключевые кадры кнопки поместить два мувика. Либо с помощью gotoAndPlay и stop оперировать одним мувиком...
[Только зарегистрированные пользователи могут видеть ссылки. ]это из ооочень старой книги по четвёрке, в общем там только код можно переколбасить на нормальный от пятерки, вобщем сообразишь, если что пиши...а с кнопкой подвязывается это так, в конртолирующий (который направление анимации задает) по событию кнопки изменяется ета переменная...
я, лично для инверсии анимации всегда этим методом пользуюсь, а не делаю дубля и не инверсирую его.
да ещё добавить можно, что инверсии поддаются мувики, нет вложенных мувиков.
Хы Я предполагал, что такое возможно. Прикольный изврат
...
Я тут подумал - можно ещё чисто програмно сделать, без кадровой анимации - при наведении курсора увеличивать параметры типа scale, rotation, alpha и т.п., а при отводе уменьшать. Либо всё наоборот
2 Cloo
дак да...
если по принципу делать как в примере изложено т.к. всё равно нужен контролирующий мувик который по циклу из 3х кадров будет параметры какие-то (_alpha, color и тд) менять...
есть вреде функция, гоу то анд плей, предыдущий фрейм) но от только на 1 фрейм назад откидывает, можно со скриптами попаврится) и чтонибудь путное может получится) Как то я делал такое, но работало очень глючно)
сейчас посидел 5 минут) это вообще как 2 байта переслать))
обратно анимировать можно все, даже изменение прозрачности)) единственное условие, что все должно быть на одной раскладке. Без вложеной анимации.
Это на основе функции предыдущий фрейм)
[Только зарегистрированные пользователи могут видеть ссылки. ]
Как видим, способов масса. По смыслу это то же, что proll отсканировал, но код другой
...
Предлагаю с помощью программной анимации забацать - без основного таймлайна - думаю, там и вложенную анимацию можно использовать
Вот что програмно получилось: [Только зарегистрированные пользователи могут видеть ссылки. ] - тут я только масштаб изменял, а вообще можно что угодно навертеть.
Код навешен на мувик.
Анимация вращения внутри мувика.
Код:onClipEvent (enterFrame) { ****if (go == true) { ****_xscale = _yscale += 1; *if (_xscale > 150) { *_xscale = _yscale = 150;**** *}**** } ****else { ****_xscale = _yscale -= 1; *if (_xscale < 100) { *_xscale = _yscale = 100;**** *}**** ****} } on (rollOver) { ****go = true; } on (rollOut) { ****go = false; }
2 Cloo
добро....
для меню обычно (как я делаю) под невидимые кнопки в подложки копируется соответственно по одной копии подобного мувика (например хитрая инверсируемая анимация вспышки под названием меню), эти мувики именуются, например mov1,mov2 и тд, ну и код на кнопень на каждую с посылом переменной в мувик под ней.
функция, цикл, фрейм, мувик, переменная, анимация, основной таймлайн.... нихера я не понял, вы хотябы одни и теже термины использовали бы, толку больше б было
2Sergey
если что не
понял и тебе действительно нужно объяснить, как делается инверсия, смотри прицепленный урок или могу написать подробнее.
О..Спасибо вам всем большое, терь буду втыкать в это всё(%
Код:this.onEnterFrame = function () { * this.gotoAndStop(this._currentframe-1); * if(this._currentframe==1) this._currentframe=this._totalframes }