我在这段代码中可能做错了什么?

时间:2010-12-19 18:55:12

标签: actionscript-3 flash-cs5

我对flash很新。我正在尝试创建一个正方形网格并将其添加到电影中。当我按下F9打开actionscript面板时,当我输入以下代码时,

var square:SquareClip = new SquareClip();
addChild(square);

一切正常(方形剪辑出现在电影中)。

相反,当我这样做时,我删除了上面的代码,只创建了一个新的Main实例,

new Main

并在Main.as内部

package{
    //----
    //IMPORT
    //
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;

    //Class creation
    public class Main extends MovieClip {
        //PROPERTIES

        public function Main():void {           
            layout_in_grid();
        }

        private function layout_in_grid():void{
            trace("layout_in_grid");

            //create a new Square
            var square:SquareClip = new SquareClip();
            addChild(square);

            trace("Square added");
        }
    }
}

当我运行代码时,我的方块不会来。我基本上做错了什么。请帮帮我。

2 个答案:

答案 0 :(得分:1)

您需要将Main添加到displaylist:

var myMain : Main = new Main();
addChild(myMain);

您也可以将Main设置为文档类。

答案 1 :(得分:0)

@Mattias是正确的。但是你应该按照他的建议将它设置为文档类 - 当你选择了阶段时,在属性中会有一个输入框,允许你输入类的名称。

如果您的文件与FLA位于同一位置并且名为“Main.as”,请在框中输入:

Main

如果文件位于文件夹结构中,例如com / company / projects / Main.as - 输入:

com.company.projects.Main

-

赞赏学习OOP的方式!