调用stage.width和stage.stageWidth之间的区别?

时间:2011-10-05 12:53:41

标签: flash actionscript-3 flex

in as3调用stage.width和stage.stageWidth

之间的区别是什么?

我在某处读到如果我们在舞台上什么都没有,那么 stage.width的值是0 , 但是当我在舞台上什么都没有但在舞台上动态加载内容时会发生什么?

我试过这个,当我在舞台上动态加载内容然后我有

  stage.width=value;  // where value is dynamic number

任何人都可以解释这个吗? 感谢。

4 个答案:

答案 0 :(得分:5)

根据Adobe Reference for the Stage Class

  • stage.width

    指示显示对象的宽度(以像素为单位)。宽度是 根据显示对象内容的界限计算。

    因此,当您在舞台上添加/删除元素时,此属性会有所不同。

  • stage.stageWidth

    指定舞台的当前宽度(以像素为单位)。

    当您调整Flash Player窗口的大小时,此属性会有所不同。

答案 1 :(得分:2)

在800x600 swf中

    private function init(e:Event = null):void {
        removeEventListener(Event.ADDED_TO_STAGE, init);
        Security.allowDomain('*');
        var ldr:Loader = new Loader();
        addChild(ldr);
        trace(stage.width, stage.stageWidth);//outputs 0 800
        ldr.contentLoaderInfo.addEventListener(Event.INIT, onLoaded);
        ldr.load(new URLRequest('.../760x500.swf'));
    }

    private function onLoaded(e:Event):void {
        trace(stage.width, stage.stageWidth);//outputs 760 800
    }

因此stage.width是内容宽度,stage.stageWidth是您的swf尺寸

答案 2 :(得分:0)

stage.width是舞台内容的内容大小,因此它可能是任何内容,具体取决于您在舞台上拥有的内容(如果您添加或删除对象,它将会更改),而stage.stageWidth是在flash设置中设置的大小(舞台大小可以从javascript等外部更改。有一个事件监听器)。

答案 3 :(得分:0)

  • stage.swidth

    它将返回width上内容的stage

  • stage.stageWidth 它会给你舞台的大小。如果您尝试相对于舞台定位元素
  • ,请使用此选项