当前位置:  开发笔记 > 编程语言 > 正文

初学者:动态地插入帧中HAXE/ActionScript3的一个MovieClip

如何解决《初学者:动态地插入帧中HAXE/ActionScript3的一个MovieClip》经验,为你挑选了1个好方法。

假设我有一个资源文件,其中mc1包含4个帧.我想创建一个新的MovieClip插入框架,如下所示:

mc2:flash.display.MovieClip = new flash.display.MovieClip()

mc1.gotoAndStop(2);
mc2.gotoAndStop(1);
mc2.currentFrame = mc1.currenctFrame
mc1.gotoAndStop(1);
mc2.gotoAndStop(2);
mc2.currentFrame = mc1.currenctFrame
mc1.gotoAndStop(2);
mc2.gotoAndStop(3);
mc2.currentFrame = mc1.currenctFrame
mc1.gotoAndStop(4);
mc2.gotoAndStop(4);
mc2.currentFrame = mc1.currenctFrame

[编辑]更多细节

我没有使用Flash IDE.我在用:

Inkscape(用于SVG生成)

swfmill(创建资产文件)

Haxe(制作动画)

我现在不是在尝试构建游戏或任何交互式游戏.我设法创建了一个简单的动画,其中背景精灵正在旋转(就是这样).我用TimerEvents来实现这个目标.但我真的希望能够构建一个MovieClip并在其上附加单个帧然后在循环播放它.

或者,我可以创建一个MovieClip,并以编程方式逐帧绘制.(当然然后循环播放)

基本上我想使用ActionScript生成内容而不是swfmill的XML(不是simple方言,simple很好).由于我是初学者,我不知道我能给你什么其他信息.所以请告诉我是否可以提供任何其他细节?



1> Iain..:

没有Flash IDE,使用gotoAndStop()等几乎没有意义.

由于您无法在不同的帧上添加不同的资源,因此应使用addChild(assetToAdd)将它们全部添加为图层,并将除1之外的所有资源设置为visible = false.然后添加一个这样的简单函数:

function showFrame(num:int):void
{
    for (var i:int = 0; i < numChildren; i++)
    {
       if (i == num)
       {
          getChildAt(i).visible = true;
       }
       else
       {
          getChildAt(i).visible = false;
       }
    }
}

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有