AS3: Error 1009:

2019-09-25 01:52发布

问题:

In a little game I have to make for college I render a menu at runtime, using movieclips i made of buttons i drawed in illustrator. I imported the illustrator file in flash professional like I always do, and made a AS linkage like I do with my other movieclips that run fine. But when I try to render these buttons I get a error 1009, a null reference. I use AS3 by the way.

private function initMenuComponents():void{
        var btnPlay:MovieClip = new Play();
        var btnOptions:MovieClip = new Options();
        var btnLikeOnFacebook:MovieClip = new LikeOnFacebook();
        var btnShareOnFacebook:MovieClip = new ShareOnFacebook();

        btnPlay.x = (stage.stageWidth / 2) - (btnPlay.width / 2);
        btnOptions.x = (stage.stageWidth / 2) - (btnOptions.width / 2);
        btnLikeOnFacebook.x = (stage.stageWidth / 2) - (btnLikeOnFacebook.width / 2);
        btnShareOnFacebook.x = (stage.stageWidth / 2) - (btnShareOnFacebook.width / 2);

        btnPlay.y = 100;
        btnOptions.y = 150;
        btnLikeOnFacebook.y = 200;
        btnShareOnFacebook.y = 250;

        stage.addChild(btnPlay);
        stage.addChild(btnOptions);
        stage.addChild(btnLikeOnFacebook);
        stage.addChild(btnShareOnFacebook);
    }

回答1:

It sounds like you're not properly linking the files in the IDE. The error you're seeing stems from this issue. I would comment out almost all of your code, and test to find exactly where the error is.

var btnPlay:MovieClip = new Play();
//var btnOptions:MovieClip = new Options();
//var btnLikeOnFacebook:MovieClip = new LikeOnFacebook();
//var btnShareOnFacebook:MovieClip = new ShareOnFacebook();