Функция сжатия - многократно используемый код? - PullRequest
0 голосов
/ 13 января 2012

В своем стремлении изучить ActionScript 3.0 я наткнулся на другую ситуацию, когда я знаю, что мне нужно делать, но просто не могу понять, как это сделать. Я написал код для анимации меню с 3 кнопками. Эти 3 кнопки находятся в отдельном файле класса, известном как MenuButtons.as, и я анимирую их в своем файле Main.as, который создает приложение и размещает соответствующие детали на сцене.

Итак, в моем файле Main.as я написал код анимации, который я хотел бы использовать для анимации кнопок. Каждый раз, когда нажимается кнопка, отправляется событие, для которого обработчик-обработчик выполняет соответствующую функцию. Таким образом, функция для анимации моих 3 кнопок выглядит следующим образом (имейте в виду, что кнопки расположены в заполнителе в MenuButtons.as, который, в свою очередь, загружается в новый мувиклип в файле Main.as)

function menuAnimate(e:Event):void
        {
            tweenMenu = new Tween(menuButtons.contactMeBtn,"y",Strong.easeInOut,200,300,0.2,true);
            tweenMenu.addEventListener(TweenEvent.MOTION_FINISH, button2);
            function button2(event:TweenEvent):void
            {
                tweenMenu = new Tween(menuButtons.galleryBtn,"y",Strong.easeInOut,100,300,0.2,true);
                tweenMenu.addEventListener(TweenEvent.MOTION_FINISH, button3);
                function button3(event:TweenEvent):void
                {
                    tweenMenu = new Tween(menuButtons.aboutMeBtn,"y",Strong.easeInOut,0,300,0.2,true);
                }
            }
            tweenLogo = new Tween(myImageLoader,"x",Strong.easeInOut,0,stage.width * -1,1,true);
        }

Я тоже твиную логотип здесь. Он отлично работает, и это здорово, но есть ли способ сделать этот код проще? Возможно, я не смогу, и я попытался найти свой ответ в Интернете, но, увы, я не могу найти то, что я ищу.

Мне нравится, как я каждый день узнаю что-то новое, и, постепенно наращивая, я изучаю больше функциональности и расширяю свои знания ActionScript (хотя некоторые из них очень запутаны!)

Есть ли хорошие сайты, которые могут помочь? У меня есть подписка на Lynda.com, но я нахожу, что их объяснения иногда трудно понять. Я люблю текстовые учебники, где я могу следовать в своем собственном темпе.

Спасибо

1 Ответ

1 голос
/ 13 января 2012

Я бы очень рекомендовал познакомиться с TweenMax (http://www.greensock.com), который является очень мощным механизмом анимации.

Используя TweenMax, ваша функция может быть выполнена в одной строке кода:

TweenMax.allTo ([menuButtons.contactMeBtn, menuButtons.galleryBtn, menuButtons.aboutMeBtn], .2, {y: 300, alpha: 1, облегчение: Strong.easeInOut, onComplete: tweenLogo}, .2);

...