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