方法1.使用thisin
在flash中寫:
if (System.capabilities.screenResolutionX>=1024) { Stage.scaleMode = "noScale"; } |
但是必須設置body里面margin的值得都等于0,加CSS到網頁也行。
方法2.
也是在FLASH中寫AS:
var listen:Object = new Object(); listen.onResize = function(){}; Stage.addListener(listen); |
方法3.用System.capabilities.screenResolutionX和System.capabilities.screenResolutionY實現
首先對這兩個語句做一下簡單講解:
System.capabilities 對象
System.capabilities 對象可以確定承載 SWF 文件的系統和播放器的功能。這樣,您就可以針對不同的格式對內容進行調整。例如,移動電話的屏幕(黑白,100 x 100 像素)就與 1000 x 1000 像素的彩色 PC 屏幕不同。為了向盡可能多的用戶提供適當的內容,可以使用 System.capabilities 對象來確定用戶所擁有的設備的類型。然后,您可以指定服務器根據不同的設備功能發送不同的 SWF 文件,或者通知 SWF 文件根據設備的功能改變它的播放方式。
1)System.capabilities.screenResolutionX:指示屏幕的水平大小,(指示屏幕最大水平分辨率的整數)其服務器字符串為 R(它返回屏幕的寬度和高度)。
2)System.capabilities.screenResolutionY:指示屏幕的垂直大小,(指示屏幕最大垂直分辨率的整數)其服務器字符串為 R(它返回屏幕的寬度和高度)。
其實System.capabilities 對象還有很多其他的屬性,在這里我就不一一介紹了!你到FLASH軟件的幫助文件中找“動作腳本字典----(字母)S”就能找到!
如果你懶還是得動或者你找不到,也可以這樣做關于System.capabilities 對象其他屬性摘要,可以使用如下代碼輸出。
如果是要在FLASH里作判斷,用下面的代碼:
loadVariables("http://www.webjx.com" ,"_root","post"); /*index.htm為SWF所在的網頁*/ if (System.capabilities.screenResolutionX==1024) { getURL("http://www.webjx.com:1985/1024.htm "); }else if (System.capabilities.screenResolutionX==800) { getURL("http://www.webjx.com:1985/800.htm "); }else if (System.capabilities.screenResolutionX>1024) { getURL("flashbank.htm"); } |
方法4.構建自定義函數CenterPopupMX,利用getURL與javascript來實現彈出定制大小的居中窗口
MovieClip.prototype.CenterPopupMX = function(theurl, title, w, h, features) { var sysW = System.capabilities.screenResolutionX; var sysH = System.capabilities.screenResolutionY; var centerx = Math.round((sysW/2)-(w/2)); var centery = Math.round((sysH/2)-(h/2)); getURL("javascript :void(window.open(’’"+theUrl+"’’,’’"+title+"’’,’’width="+w+", height="+h+", left="+centerx+", top="+centery+",screenX="+centerx+", screenY="+centery+","+features+"’’));"); }; |
PS:你可以從里面得到很多啟發!
方法5.在DW中設置高和寬都是100%,然后完全匹配
即使你的swf是1*100大小的。瀏覽器也會拉伸你的flash不成樣子都要填充整個瀏覽器,關于圖形的問題用flash盡量使用矢量圖形,如果必須用位圖就按照高分辨率下裁剪,高分辨率下都沒鋸齒了,低分辨率下還會有嗎?用FW柔化下不就OK了。
除了在IE6下因為IE6的一個BUG造成可能出現沒有填充完全有一部分是空白——這樣的情況是很難產生的需要先把IE縮小然后拖動下邊框拉長的時候才會出現,一般誰去拉呀。都是直接最大化。
按照我說的設定可以符合任何尺寸(僅僅是windows下5.5和6.0的IE)其他的沒測試過!
方法6.使用Azure
是在HTML中加代碼
<script language="javascript"> //resolutionRedirect Begin if (window.screen){ var w = screen.width; if(w<1024){ self.location.replace("home.html"); } if(w==1024){ openFull(home.html,jinyu); window.close(); } if(w>1024){ openWindow(home.html,1008,698,jinyu) window.close(); } }//resolutionRedirect End </script> |