我建立在Flash Builder的AIR应用程序,需要得到类似stage.stageWidth
但stage.stageWidth
不工作的窗口和nativeWindow.width
收益宽度 - 我需要我的内容/台的宽度。有什么办法吗?Flash Builder中 - 让舞台宽度
感谢
我建立在Flash Builder的AIR应用程序,需要得到类似stage.stageWidth
但stage.stageWidth
不工作的窗口和nativeWindow.width
收益宽度 - 我需要我的内容/台的宽度。有什么办法吗?Flash Builder中 - 让舞台宽度
感谢
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进行翻译,尽管这可能不再是这种情况,但无论如何这都是很好的做法。希望这可以帮助。
根据您的文章,我发现我可以只使用'width'和'height' 非常感谢 – simPod
为什么 “stage.stageWidth” “不行”?你能详细解释一下吗? – 2011-07-30 14:13:39