Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AIR: Why is stage == null?

I am trying to set the scaleMode on my AIR app. which is set via stage.scaleMode. However when I try to reference stage it returns as null. I do not know why?

Here is the entire app:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
    <mx:Script>
        <![CDATA[
            import flash.display.StageDisplayState;
            private function init():void
            {
                var s:Stage = this.stage; //<<-- this.stage == null...why??
                s.scaleMode = StageScaleMode.EXACT_FIT;
            }
        ]]>
    </mx:Script>
</mx:WindowedApplication>
like image 746
JD Isaacks Avatar asked Jul 02 '09 15:07

JD Isaacks


2 Answers

Try windowComplete instead of creationComplete. Also:

[If] you are trying to add eventListeners to the stage right from the start of your application execution, this will only work with updateComplete() and applicationComplete().

Source: http://www.wietseveenstra.nl/blog/2007/02/understanding-the-flex-application-startup-event-order/

like image 127
typeoneerror Avatar answered Sep 21 '22 21:09

typeoneerror


Try adding an event listener for Event.ADDED_TO_STAGE, or the addedToStage mxml attribute. You should be able to reference the stage then.

like image 34
Alex Jillard Avatar answered Sep 25 '22 21:09

Alex Jillard