Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 是否可以使用ActionScript 3代码或MXML创建MovieClip?_Actionscript 3_Flex3_Mxml - Fatal编程技术网

Actionscript 3 是否可以使用ActionScript 3代码或MXML创建MovieClip?

Actionscript 3 是否可以使用ActionScript 3代码或MXML创建MovieClip?,actionscript-3,flex3,mxml,Actionscript 3,Flex3,Mxml,我使用的是Flex3SDK和免费的IDE 由于我没有FlexBuilder或Flash CS4 Professional,我无法以图形方式制作MovieClips 因此,我想用代码或MXML创建一个简单的MovieClip。例如,假设我想创建一个包含3帧的MovieClip,并在每个帧中加载一个位图以创建一个简单的动画 这可能吗?我有一个很好的谷歌搜索,我能找到的唯一例子就是加载现有的movieclip并将它们添加到舞台上。您可以使用以下简单代码创建movieclip: var mc:Movie

我使用的是Flex3SDK和免费的IDE

由于我没有FlexBuilder或Flash CS4 Professional,我无法以图形方式制作MovieClips

因此,我想用代码或MXML创建一个简单的MovieClip。例如,假设我想创建一个包含3帧的MovieClip,并在每个帧中加载一个位图以创建一个简单的动画


这可能吗?我有一个很好的谷歌搜索,我能找到的唯一例子就是加载现有的movieclip并将它们添加到舞台上。

您可以使用以下简单代码创建movieclip:

var mc:MovieClip = new MovieClip();
stage.addChild(mc);
这当然是因为只有空的movieclip,您可以使用graphics属性()在其上绘制

据我所知,没有办法用actionscript创建框架。尽管可能有一些未记录的方法。有些函数没有出现在文档中(如方法)

我会说最好的方法(如果你绝对不能使用Flash CS4),就是拥有一系列的对象,并按顺序隐藏和显示它们。 只需将它们放在一个数组中,并收听事件。 可以在加载程序对象中加载位图


如果您使用这些链接并查看文档中的示例,我认为您应该能够找到答案。

据我所知,在Flex中创建MovieClip的方法并不简单,它的行为方式可能与Flash的实现MovieClip相当。但我不认为你真的想要一部电影。Flex不能很好地处理非Flex对象。是的,可以向UIComponent中添加一些内容,但是使用Flex框架比使用变通方法要好得多

我会使用mx:Image标签来加载您的图像。将图像加载到Flex中通常是最干净的方法。它将允许您在编译时将对象嵌入SWF,这意味着您不必指向外部文件。我会提醒你不要有太多的嵌入式图形——这会浪费你的下载时间,可能还会影响你的性能


如果您只对动画移动或重新调整大小感兴趣,那么我将使用本机Flex Tween的移动和调整大小对象。

您最好的选择可能是扩展UIComponent类,添加一个MovieClip作为子组件,并通过代理从MXML应用设置。e、 g

public function set movieFrames(value:Array):void {
   for each(var b:Bitmap in value) {
      //add bitmap to _movieclip object.
   }
}

你想要的是精灵而不是电影唇。用时间代替框架。有一个计时器类和一个getTimer()函数。使用它们

  • 创建一个扩展/实现Sprite的类
  • 添加一个加载器类
  • 谷歌搜索它到底是怎么做的。(flashtuts.com或类似的网站)
    但是,如何控制位图将在哪一帧结束?取决于“帧”的含义。在flex中,您可能可以使用计时器或ENTER_FRAME事件以及标记要显示的图像的计数器来完成所需的操作。在每一帧上,或在计时器刻度上:imgCounter=(++imgCounter)%bitmapList.length displayedBitmap=bitmapList[imgCounter];像这样的事。。。