2011-07-30 31 views
2

我建立在Flash Builder的AIR应用程序,需要得到类似stage.stageWidthstage.stageWidth不工作的窗口和nativeWindow.width收益宽度 - 我需要我的内容/台的宽度。有什么办法吗?Flash Builder中 - 让舞台宽度

感谢

+0

为什么 “stage.stageWidth” “不行”?你能详细解释一下吗? – 2011-07-30 14:13:39

回答

1

stage.stageWidth应该返回整个舞台,这应该是几乎相同大小的窗口,减去铬的宽度。如果你想获得添加到舞台上的所有内容,那么最简单的方法是将单个容器添加到舞台上,并将所有对象添加到舞台上,然后检查该容器的宽度/高度。这会准确地告诉你所有你创建并添加到显示列表中的对象(在这个容器或其中一个子项中)的累积宽度/高度。

或者,如果您使用的是文档类,则该文档类本质上是默认添加到舞台,所以添加的东西作为文档类的,而不是添加到舞台的子容器。然后,检查文档类的宽度/高度。例如:

package com.katruax.collageapp 
{ 
    import flash.display.MovieClip; 
    import flash.display.StageAlign; 
    import flash.display.StageScaleMode; 
    import flash.events.Event; 
    /** 
    * ... 
    * @author Jesse Nicholson 
    */ 
    public class MyApp extends MovieClip 
    {  

    public function MyApp() 
    {  
     if (stage) { 
      init(); 
     }else { 
      addEventListener(Event.ADDED_TO_STAGE, init); 
     }   
    } 

    private function init(e:Event = null):void 
    {  
      //Set the alignment and scale mode of the stage 
      stage.scaleMode = StageScaleMode.NO_SCALE; 
      stage.align = StageAlign.TOP_LEFT; 


      var movieClipA:MovieClip = new SomeLibraryMovieClip1(); 
      var movieClipB:MovieClip = new SomeLibraryMovieClip2(); 
      this.addChild(movieClipA); 
      this.addChild(movieClipB); 
      trace(this.height, this.width); 
    } 

} 

请注意,我设置舞台缩放模式和对齐模式。这是因为我在AIR 1.0(在当天返回)注意到没有设定步骤,目标位置以及在舞台上阅读的高度/宽度时,这些特性导致了类似的结果,在我的事业很可能是因为缩放。由于某种原因,舞台似乎能够沿着NativeWindow中的X/Y进行翻译,尽管这可能不再是这种情况,但无论如何这都是很好的做法。希望这可以帮助。

+0

根据您的文章,我发现我可以只使用'width'和'height' 非常感谢 – simPod

相关问题