我想讓我的主類調整到瀏覽器窗口大小。我正在舞臺上聽Event.RESIZE,更新我的寬度/高度以匹配stageWidth/stageHeight,並繪製矩形以顯示它的大小。流體閃存佈局
當我調整大小時,它會在事件觸發的時候在大小之間閃爍。在這兩種情況下,寬度和高度都是正確的,但在「小」情況下,一切都在一個小框中。
Big Size http://files.seanhess.net/questions/browserresizebig.png
Small Size http://files.seanhess.net/questions/browserresizesmall.png
這裏是我的代碼
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.text.TextField;
public class main extends Sprite
{
public function main()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, onResize);
var text:TextField = new TextField();
text.text = "Some Text";
addChild(text);
}
private function onResize(event:Event):void
{
this.width = stage.stageWidth;
this.height = stage.stageHeight;
trace("RESIZE " + width + " " + height);
this.graphics.clear();
this.graphics.beginFill(0x000000, 0.5);
this.graphics.drawRect(0, 0, this.width, this.height);
}
}
}
什麼是做到這一點的正確方法?我究竟做錯了什麼?謝謝!
這很有道理。我已經工作了很長時間(這裏是flex人)。寬度和高度真的很沒用,沒有一些額外的幫助。謝謝! – 2009-11-25 15:12:23
我最終添加了一個變量來存儲explicitWidth和explicitHeight。然後在更改寬度和高度時更新該變量,並根據變量繪製圖形,而不是「實際」寬度/高度。 – 2009-11-25 15:13:41