【问题标题】:Dynamically Loading a Movie Clip AS3动态加载影片剪辑 AS3
【发布时间】:2013-12-22 12:47:54
【问题描述】:

我正在尝试将影片剪辑动态添加到舞台。在主 .fla 的库中,我有一个名为“menuBar”的影片剪辑。我有一个名为 menuBar.as 的类,代码如下:

package
{

    import flash.display.MovieClip;


    public class menuBar extends MovieClip
    {


        public function menuBar()
        {
            var menuBar:MovieClip = new MovieClip  ;
            stage.addChild(menuBar);
            menuBar.x = 319.9;
            menuBar.y = 10.4;
        }
    }

}

类路径设置正确,但我被困在这一点上。我不知道如何将影片剪辑放到舞台上。提前感谢您的帮助。

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    你应该换一种方式。您正在尝试使 menuBar 类将自身添加到舞台,但舞台只有 Main 知道,menuBar 不知道。您应该在 Main 类中、时间轴上或其他地方声明一个变量,然后将该变量添加到阶段。

    // timeline code. Put this in Main
    var menubar:menuBar=new menuBar(); // declare
    menubar.x=320;
    menubar.y=10;  // position
    addChild(menubar);  // add
    

    menuBar 构造函数应保持为空,因为您显然是在 Flash CSx 编辑器中设计菜单栏。

    另外请注意,您可能不需要将菜单栏添加到舞台,您可以轻松地将其添加到主类 addChild(menubar) 而不是 stage.addChild(menubar)。

    【讨论】:

      【解决方案2】:

      在库中,您必须转到剪辑 menuBar 的属性并将其导出为 actionscript,只需检查相应的案例,在类名称字段中输入 MenuBar 为例。也检查第 1 帧中的导出选项。之后,您可以在代码中的任何位置使用以下代码创建 MenuBar:

      var myMenuBar:MenuBar = new MenuBar();
      addChild( myMenuBar );
      

      如果您输入类名 MyOtherItem,您可以使用以下代码创建它:

      var myItem:MyOtherItem = new MyOtherItem();
      addChild( myItem );
      

      希望对你有帮助

      PS:尝试使用大写字母作为类名的首字母,小写字母作为变量名的首字母,这样每个人都更清楚。 (例如:MyClassName、myVarName)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-07
        • 2012-05-25
        • 2021-02-24
        • 1970-01-01
        • 1970-01-01
        • 2013-04-27
        • 1970-01-01
        • 2015-05-06
        相关资源
        最近更新 更多