StageScaleMode.SHOW_ALL确保始终显示Flash动画的全部内容。取决于内容的大小以及放置图像的位置,这可能会超出屏幕的实际显示宽度。
如果你希望你的电影总是在屏幕中央,而不是扩展其内容,像这样做(在点击全屏):
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageDisplayState;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.MouseEvent;
public class Test extends MovieClip
{
private var content : Sprite;
public function Test()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
content = new Sprite();
content.graphics.beginFill(0, 1);
content.graphics.drawRect(0, 0, 200, 100);
content.graphics.endFill();
addChild(content);
stage.addEventListener(Event.RESIZE, onResize);
content.addEventListener(MouseEvent.CLICK, onMouseClick);
}
public function onMouseClick (ev : Event) : void
{
stage.displayState = StageDisplayState.FULL_SCREEN;
}
public function onResize (ev : Event) : void
{
content.x = (stage.stageWidth - content.width) * .5;
content.y = (stage.stageHeight - content.height) * .5;
}
}
}
然后所有元素连接到内容雪碧代替阶段。
谢谢您的回答,所以,目前我明白为什么内容是要大的尺寸,我使用StageScaleMode.SHOW_ALL,接下来的问题是如何使用StageScaleMode.SHOW_ALL内容大小设置为尺寸的显示器? – jitm 2010-12-22 13:46:23