预加载器代码中的SWF标记和阶段大小

时间:2011-11-10 14:48:22

标签: actionscript-3 preloader

我正在尝试从预加载器代码中获取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 ..]”也是如此,因为预加载器代码正在运行。

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

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

还有其他方法可以获得SWF大小吗?

1 个答案:

答案 0 :(得分:1)

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

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