【问题标题】:ActionScript 3, Creating Instances of Library's Movie Clip for appropriate SceneActionScript 3,为适当的场景创建库的影片剪辑实例
【发布时间】:2013-03-25 07:47:57
【问题描述】:

你好 stackoverflow 大师。
我是 AS3 的新手,如果我的问题有点幼稚,我很抱歉,但是......

我的库中有影片剪辑 progress_mc。
我还有 3 个场景,包含 50 帧补间动画。
还有一些控制按钮来播放适当的场景。

问题 1。如何使用 DocumentClass 创建 progress_mc 实例?
我已经在该课程中尝试过类似的方法:

public class ProgressMc extends MovieClip  
{  
  public function addInstance():void  
{    
  var progress_mc:MovieClip = new MovieClip();  
  this.addChild(progress_mc);  
}  
}

那我就放

addInstance();
为 Scene1 的 1 帧。
但它不起作用。没有实例出现。

也许这种方法是错误的……请给我一些正确的方法。

问题2。以及如何为合适的场景创建实例?
我应该在每个场景的每一帧都调用公共函数吗?
还是有一些正确的决定?

EDIT-1:
好的,我找到了答案。
步骤1。正如 mitim 所述。
第2步。在时间轴上使用此代码:

var p1:progress_mc = new progress_mc();

p1.name = "p1";
p1.x = 50;
p1.y = 50;

addChild(p1);

然而,关于它仍然不明显

.Scene
可能性。但是将所有场景包装在一个影片剪辑中是一种变体。

【问题讨论】:

    标签: actionscript-3 class instance public


    【解决方案1】:

    (我假设您使用的是 flash IDE)

    对于问题1,您需要在您的库中设置“progress_mc”电影剪辑的类链接名称。转到它在库中的属性并检查“export for actionscript”并设置它的类名。然后,而不是去:

    new MovieClip()
    

    这确实会创建一个新的空 Movieclip 对象,你会去

    new MyClassName()
    

    创建该库剪辑的新实例。然后,您可以像现在一样将其添加到舞台。

    对于问题 2,我不确定您的场景中有什么……但如果只是帧动画,则可以将场景包裹在影片剪辑中并进行相同的处理。

    【讨论】:

    • 感谢您的回复,mitim。我为这个 mc 创建了类: package { import flash.display.MovieClip;公共类 progress_mc 扩展 MovieClip { 公共函数 addInstance():void { var progress_mc:MovieClip = new progress_mc(); this.addChild(progress_mc);但是时间线代码 addInstance() 有问题;我也使用过 this.addInstance();但是有错误:TypeError: Error #1006: addInstance is not a function。在 Objects1_fla::MainTimeline/Objects1_fla::frame1()
    猜你喜欢
    • 1970-01-01
    • 2014-09-19
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 2018-03-13
    • 2010-10-28
    相关资源
    最近更新 更多