Flash适应任何分辨率方法大集合

2008-04-02 10:53:52来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  今天在蓝色经典看到有人在讨论这个问题,那我也就此问题,来作个简单的归总,总起来分两大类,一类是在HTML中控制,一类直接在FLASH控制,

  下面我也不细分属于哪个大类,因为明天和老板出去办事情,要起的!还请朋友不要怪我不责任!

  1.thisin的办法在flash中写:

  
if(System.capabilities.screenResolutionX>=1024){

  Stage.scaleMode="noScale";

  }
但是必须配置body里面margin的值得都等于0,加CSS到网页也行

  2.蓝色月光的办法:

  也是在FLASH中写AS:

  
varlisten:Object=newObject();

  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 对象其他属性摘要能够使用如下代码输出

  
for(variinSystem.capabilities){

  trace(i ":" System.capabilities[i])

  }
是要在FLASH里作判断吧

  用下面的代码:

  
loadVariables("http://www.flashbank.cn","_root","post");

  /*index.htm为SWF所在的网页*/

  if(System.capabilities.screenResolutionX==1024){

  getURL("http://www.flashbank.cn:1985/1024.htm");

  }elseif(System.capabilities.screenResolutionX==800){

  getURL("http://www.flashbank.cn:1985/800.htm");

  }elseif(System.capabilities.screenResolutionX>1024){

  getURL("flashbank.htm");

  }
4.构建一个自定义函数CenterPopupMX,利用getURL和javascript来实现弹出定制大小的居中窗口

  
MovieClip.prototype.CenterPopupMX=function(theurl,title,w,h,features){

  varsysW=System.capabilities.screenResolutionX;

  varsysH=System.capabilities.screenResolutionY;

  varcenterx=Math.round((sysW/2)-(w/2));

  varcentery=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%然后完全匹配就ok了,即使您的swf是1*100大小的。浏览器也会拉伸您的flash不成样子都要填充整个浏览器,

  关于图像的问题用flash尽量使用矢量图像,假如必须用位图就按照高分辨率下裁剪,高分辨率下都没锯齿了,低分辨率下还会有吗?用FW柔化下不就OK了。

  除了在IE6下因为IE6的一个BUG造成可能出现没有填充完全有一部分是空白――这样的情况是很难产生的需要先把IE缩小然后拖动下边框拉长的时候才会出现,一般谁去拉呀。都是直接最大化。

  按照我说的设定能够符合任何尺寸(仅仅是windows下5.5和6.0的IE)其他的没测试过!

  6.Azure的办法:

  是在HTML中加代码

  
<scriptlanguage="javascript">

  //resolutionRedirectBegin

  if(window.screen){

  varw=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();

  }

  }//resolutionRedirectEnd

  </script>
7.最NB的办法是在HTML中添加:

  scale="exactfit"

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: JavaScript和Flash的通信

下一篇: ActionScript2.0编程技术教程