在as3中,调用stage.width和stage.stageWidth之间的区别是什么?
我在某个地方读到,如果舞台上没有任何内容,那么stage.width的值是0,但是如果舞台上没有任何内容,而是动态地在舞台上加载内容,会发生什么呢?
我尝试过这样做,当我在舞台上动态加载内容时,我就得到了
stage.width=value; // where value is dynamic number有人能解释一下吗?
谢谢。
发布于 2011-10-05 12:59:52
根据级类的Adobe引用
stage.width
指示显示对象的宽度(以像素为单位)。宽度是根据显示对象的内容的界限计算的。
因此,随着您从阶段中添加/删除元素,此属性将发生变化。stage.stageWidth
指定舞台的当前宽度(以像素为单位)。
此属性随您调整Flash窗口的大小而变化。发布于 2011-10-05 13:05:34
在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大小
发布于 2011-10-05 12:59:01
stage.width是舞台内容的大小,因此它可能是任何内容,这取决于舞台上的内容(如果添加或删除对象,它将发生变化),而stage.stageWidth是在闪存设置中设置的大小(舞台大小可以从javascript等外部更改。有一个事件侦听器)。
https://stackoverflow.com/questions/7661586
复制相似问题