如何在Actionscript 3中构建电影剪辑

3
我该如何用AS3创建具有多个帧的电影脚本?
如果我使用Flash IDE,我会将我想要放在第1帧上的任何内容放在那里,其他的东西放在第2帧上等等,并在用户单击“下一页”按钮时逐帧播放。或者可能会放入关键帧和补间动画,并让系统以固定速率播放帧。
我没有看到在AS3中如何做到这一点,即使所有我看到的描述都说Flash CS3将您的时间轴和帧转换为ActionScript,我也想知道如何在没有Flash IDE(例如,在Flex中工作)的情况下完成相同的操作。
让我们举一个简单的例子:我有3个帧。第1帧包含闪屏页面(大量文本和一个按钮)。第2帧包含一个图像,一个标签和一个名为“下一页”的按钮。第3帧包含两个图像和一个标签。
您将如何在AS3中构建它?

只需要澄清一下:Flash Builder支持仅包含ActionScript项目,没有任何对Flex框架的显式依赖。除此之外,我不确定如何帮助您。 - JeffryHouser
你是否有使用IDE创建SWC并按照所建议的方式使用该符号的原因? 此外,你是否知道可以在Flash Builder中创建Flash Pro项目?这使您能够充分利用两个世界的优势。 - Amy Blankenship
我同意他可以使用IDE创建.swc,但我认为他的问题很好。他只是想知道如何/是否可以仅使用AS3代码创建多帧MovieClip。 - prototypical
2个回答

0

Flash CS

你需要将逻辑代码放在关键帧中,并对文本、按钮等进行操作。这使得多个用户难以编辑和处理。

AS3使用像Flash Builder这样的IDE

Flash CS仅用于制作动画swf文件。

假设我们有一个名为A.swf的swf文件:

  • A.swf

    • mySymbol(具有类似com.mySymbol的链接名称)

      • subSymbol1(命名为subSymbol1)

        • nameLabel(命名为label1)
        • addressLabel(命名为label2)
      • subSymbol2(命名为subSymbol2)

        • nameLabel(命名为label1)
        • addressLabel(命名为label2)

以下是如何在Flash Builder中使用A.swf文件:

Class MyView {

   public function MyView() {

      var loader:Loader = new Loader();
      var url:String = "A.swf";
      var urlReq:URLRequest = new URLRequest(url);
      var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null);
      loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
      loader.load(urlReq, loaderContext);
   }

   private function onLoadComplete(e:Event):void {

       //now you can get defined symbols in A.swf
       var c:Class = getDefinitionByName(" com.mySymbol");

       //get a mySymbol  instance
       var mc:MovieClip = new c();

       //add to parent
       some.addChild(mc);

       /*what you said you got three frames,
       Just like set like subSymbol1 and subSymbol2 in this A.swf
       add some text in subSymbol1  and other in subSymbol2 */

       mc.subSymbol1.visible = false;
       mc.subSymbol2.visible = true;
   }


}

这可以使程序和视图在某种程度上独立。


他不是在问如何使用 .swf,而是在问如何仅使用 AS3 代码创建多帧 MovieClip。 - prototypical

0

你最好将每个帧都创建为单独的Sprite

当你想要在它们之间切换时,你可以使用removeChild()来隐藏旧的,然后使用addChild()来显示新的。

如果你想要更加高级一些,你可以添加 Tweens(可以是内置的,也可以是从tweening engine中获取的)。这将允许你在帧之间淡入淡出,或者缩放它们,或者从左到右滑动等等。

如果你需要进行更复杂的序列动画,你可以考虑使用TimelineLite之类的工具来帮助实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接