本文中我们介绍几种方法,让Flash动画适应任何分辨率的网页。
方法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 文件的系统和播放器的功能。这样,您就可以针对不同的格式对内容进行调整。例如,移动 “);
}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> |