2012-10-24 4 views
0

사용자가 선택한 이미지를로드 한 다음 선택한 이미지가 들어갈 수 있도록 창 크기를 조정하는 간단한 Air/Flex 응용 프로그램을 만들려고합니다. 올바르게 이해했다면 stage.scaleMode = StageScaleMode.NO_SCALE로 설정해야합니다. 그러나 이것을 호출하면 Error # 1009 "null 객체 참조의 속성이나 메서드에 액세스 할 수 없습니다."라는 메시지가 나타납니다. 내가 잘못무대 스케일 모드 오류 # 1009

 <?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" 
         initialize="init();" 
         applicationComplete="complete();" 
         xmlns:local="*"> 
    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 

    </fx:Declarations> 


    <mx:MenuBar id="myMenubar" width="832" itemClick="menuHandler(event);" labelField="@label" depth="0"> 
     <fx:XMLList xmlns=""> 
      <item label="File"> 
       <item label="New" id="new"/> 
       <item label="Open" id="open"/> 
       <item label="Save" id="save"/> 
       <item label="Save As" id="saveas"/> 
       <item label="Quit" id="quit"/> 
      </item> 

      <item label="Edit"> 
       <item label="Undo" id="undo"/> 
       <item label="Redo" id="redo"/> 
       <item label="Preferences" id="preferences"/> 
      </item> 

      <item label="Level"> 
       <item label="New Room" id="newroom"/> 
       <item label="Properties" id="properties"/> 
      </item> 

      <item label="Objects"> 
       <item label="Clickable" id="clickable"/> 
       <item label="Character" id="character"/> 
       <item label="Door" id="door"/> 
       <item label="Treasure" id="treasure"/> 
      </item> 
     </fx:XMLList> 


    </mx:MenuBar> 

    <s:SpriteVisualElement id="flashpunk" depth="-2"> 
    </s:SpriteVisualElement>  

    <fx:Script> 

     <![CDATA[ 

     import mx.collections.*; 
     import mx.controls.Alert; 
     import mx.core.IUIComponent; 
     import mx.events.MenuEvent; 
     import flash.display.StageScaleMode; 

     public var Maini:Main = new Main; 

      private function init():void 
      { 
       flashpunk.addChild(Maini); 

      } 

      private function complete():void 
      { 

       stage.scaleMode = StageScaleMode.NO_SCALE; 
      } 

      private function menuHandler(evt:MenuEvent):void 
      { 
       // Don't open the Alert for a menu bar item that 
       // opens a popup submenu. 

        Alert.show("Label: " + [email protected] + "\n" + 
         "Data: " + [email protected], "Clicked menu item"); 
        Maini.foo(); 

      } 


     ]]> 

    </fx:Script> 



</s:WindowedApplication> 

을하고 있어요 무엇 : 다음은 내 기본 응용 프로그램 MXML입니까?

또한 scalemode를 설정 한 후에 창 크기를 얼마나 정확하게 새 크기로 설정할 수 있습니까? 디버그 플레이어는 [SWF (width = "1200", height = "600")] 또는 스테이지 너비와 높이를 설정하려고 시도하지 않습니다. 플래시 빌더 4.6을 사용하고 있습니다.

+2

플렉스 구성 요소에서는 표시 목록에 항목이 없으면 스테이지에 액세스 할 수 없습니다. Flex 구성 요소의 경우 응용 프로그램 기본 응용 프로그램에서 ApplicationComplete 이벤트가 발생할 때까지는 발생하지 않습니다. 공유 한 코드에 따라 이것이 문제인지 확실하지 않습니다. – JeffryHouser

+0

ApplicationComplete 이벤트 함수를 추가하려고했지만 동일한 오류가 발생합니다. 내 전체 mxml 코드를 원래 게시물로 업데이트했습니다. – Tumetsu

+0

신경 쓰지 마세요. 외관상으로는 빌드를 망쳐 놓은 오래된 빌드 파일이있었습니다. – Tumetsu

답변