在制作FLASH全站的時候,有一些是必須要掌握的。舞台放大元件不變形,那是必須的。
只要在第一幀加上一句:stage.scaleMode=StageScaleMode.NO_SCALE 即可不變形。在幫助裡可以得到舞台的這個屬性更多的解釋。 這時,舞台始終是居中顯示的。這對我們定位元件達到自適應是一個麻煩,因為X、Y軸的0坐標並不是在顯示的最左上角,而是在舞台的左上角。而舞台是居中的,所以當元件的X、Y軸為0時,左上角還會空出一些位置。
我們必須讓舞台左上角對齊:stage.align=StageAlign.TOP_LEFT 同樣,如果想右上角對齊或右下角對齊,可以查看它的幫助得到更多的信息。最後把FLASH插入到HTML中,記得寬高都設成100%。 還有HTML的頁邊距也要設成0。切記!
AS3對舞台的改變有一個偵聽事件:Event.RESIZE,當舞台大小發生改變時則觸發這個事件。不明白歡迎留言,互相交流。
示例代碼: 使A、B、C、D四個矩形的MC使終保持位於浏覽器的左上,右上,左下,右下
//不變形處理
stage.scaleMode=StageScaleMode.NO_SCALE
//左上角對齊
stage.align=StageAlign.TOP_LEFT
//自定義一個函數來控制四個MC的位置
function myfunction(){
//A的位置
A.x=0
A.y=0
//B的位置
B.x=stage.stageWidth-B.width
B.y=0
//C的位置
C.x=0
C.y=stage.stageHeight-C.height
//D的位置
D.x=stage.stageWidth-D.width
D.y=stage.stageHeight-D.height
}
//對舞台的改變進行偵聽
stage.addEventListener (Event.RESIZE,test);
function test (e:Event):void {
//舞台改變時,重新設置MC的位置
myfunction ();
}
//設定MC位置
myfunction ()