开发者

Flash Stage is Null

开发者 https://www.devze.com 2023-02-09 13:47 出处:网络
Here\'s a very simple AS3 project. The stage is not null in the main class, but it is in the AppMan class, and that\'s where I want to access it. Why?

Here's a very simple AS3 project. The stage is not null in the main class, but it is in the AppMan class, and that's where I want to access it. Why?

Here's my main class, called StageText.as:

package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;

stage.scaleMode = StageScaleMode.NO_SCALE; //here, the stage is not null.
stage.align     = StageAlign.TOP_LEFT;

public class StageText extends Sprite
{
    private var appMan:AppMan = new AppMan();

    public function StageText()
    {
        appMan开发者_如何学编程.startApp();

    }
}
}

Then, in the same folder I've got the AppMan.as class.

package
{
import flash.events.Event;
import flash.display.Sprite;
import flash.text.TextField;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;

public class AppMan extends Sprite
{
    public var textField:TextField;

    // Application Width, Height
    public var appW:Number;
    public var appH:Number;

    public function AppMan()
    {
        super();
    }

    public function startApp():void {

        // create textfield
        textField = new TextField();
        textField.wordWrap = true;
        textField.width = 540;
        textField.height = 400;
        textField.text  = "Hello World";
        addChild(textField);
                    //if I try to run init in response to Event.ADDED_TO_STAGE, it never runs
        this.addEventListener(Event.ADDED_TO_STAGE, init); 
                    //Or, if I run init() without the eventListener, I get a runtime error
                    //indicating that the stage is null
        //init();


    }

    private function init(e:Event):void {
    //private function init():void {

        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align     = StageAlign.TOP_LEFT;
        stage.quality   = StageQuality.HIGH;
        appW = stage.stageWidth;
        appH = stage.stageHeight; 
    }
}
}


I'm guessing, but is the appMan instance ever added to the stage?

 public function StageText()
 {
    this.AddChild(appMan);
    appMan.startApp();

 }
0

精彩评论

暂无评论...
验证码 换一张
取 消