2011-11-10 31 views
0

我试图从预加载器代码中获取SWFs帧大小。请看看这个例子:预加载器代码中的SWF标记和舞台大小

[SWF(width='640',height='480',backgroundColor='0xFF00FF',frameRate='60')] 
[Frame(factoryClass="MyPreloader")] 
public class Main extends Sprite 
{ 
    //My main class, which handles the "Application logic" 
} 

public class MyPreloader extends MovieClip 
{ 
    //My preloader code - how to get SWF width from here? 
} 

当我编译,并嵌入到HTML页面,我得到的SWF适当大小 - 640x480,带有粉红色。所以“[SWF ..]”被正确解释。所以是“[Frame ..]”,因为preloader代码正在运行。

我无法从预加载器代码(从构造函数或Event.ADDED_TO_STAGE事件回调方法中)获取SWF大小。到目前为止,我已经试过:

  • this.stage.width(返回0)
  • this.stage.loaderInfo.width(遇到错误#2099)
  • this.width(返回0)

是否有任何其他方式获得SWF大小?

回答

1

你需要的是stage.stageWidthstage.stageHeight。当然在Event.ADDED_TO_STAGE之后,但你已经做到了。

'stage.width'属性返回舞台上内容的宽度,因为可能没有任何内容,它返回0.