功能压缩 - 可重复使用的代码?

时间:2012-01-13 11:13:56

标签: actionscript-3 flash-cs5

在我学习ActionScript 3.0的过程中,我偶然发现了另一种情况,我知道自己需要做什么,但却无法弄明白该怎么做。我编写了代码来设置带有3个按钮的菜单。这三个按钮位于一个名为MenuButtons.as的独立类文件中,我在Main.as文件中为它们制作动画,该文件构建应用程序并将相关细节放在舞台上。

所以在我的Main.as文件中,我编写了动画代码,我想用它来设置按钮的动画。只要单击一个按钮,就会调度一个事件,然后处理程序侦听器会执行相关的功能。因此,为我的3个按钮设置动画的功能如下所示(请记住,按钮排列在MenuButtons.as中的占位符中,然后将其加载到Main.as文件中的新MovieClip中)

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 个答案:

答案 0 :(得分:1)

我非常推荐了解TweenMax(http://www.greensock.com),它是一个非常强大的补间引擎。

使用TweenMax可以在一行代码中完成您的功能:

TweenMax.allTo([menuButtons.contactMeBtn,menuButtons.galleryBtn,menuButtons.aboutMeBtn],。2,{y:300,alpha:1,ease:Strong.easeInOut,onComplete:tweenLogo},。2);