创建具有舞台大小的矩形

时间:2014-05-14 11:30:20

标签: actionscript-3 class actionscript

这是我的第一堂课,我尝试制作舞台大小的矩形,但flash给了我这些错误:

addEventListener(Event.ADDED_TO_STAGE,addedToStageHandler);
// 1180:调用可能未定义的方法addEventListener。

removeEventListener(Event.ADDED_TO_STAGE,addedToStageHandler);
// 1180:调用可能未定义的方法removeEventListener。

stageW = stage.stageWidth;
// 1120:访问未定义的属性阶段。

stageH = stage.stageHeight;
// 1120:访问未定义的属性阶段。

的addChild(mc_background);
// 1180:调用可能未定义的方法addChild。

我的代码是:

package {
    import flash.display.MovieClip;
    import flash.events.Event;

    public class main {
        var mc_background:MovieClip = new MovieClip();
        var stageW:Number;
        var stageH:Number;

        public function init() {
            addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
        }

        private function addedToStageHandler(evn:Event):void {
            removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);

            stageW = stage.stageWidth;
            stageH = stage.stageHeight;

            drawBackground();
        }
        private function drawBackground():void {
            mc_background.beginFill(0xFF00CC);
            mc_background.graphics.drawRect(0,0,stageW,stageH);
            mc_background.graphics.endFill();
            addChild(mc_background);
        }
    }

}

1 个答案:

答案 0 :(得分:2)

你的班级"主要"应该扩展Sprite以使用addChild()和removeEventListener()方法。

所以你应该导入Sprite类并从Sprite扩展你的类,如下所示:

package {
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;

    public class main extends Sprite

使用第一个大写字母来调用类名称也是一种不错的做法,例如main > Main。所有小写​​都是变量,因此以后会让你感到困惑。