论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

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

文章类别:Flash | 发表日期:2008-9-21 15:09:37

  今天在蓝色经典看到有人在讨论这个问题,那我也就此问题,来作个简单的归总,总起来分两大类,一类是在HTML中控制,一类直接在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 文件的系统和播放器的功能。这样,您就可以针对不同的格式对内容进行调整。例如,移动电话
的屏幕(黑白,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(var?i?in?System.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?");
}else?if?(System.capabilities.screenResolutionX==800)?{
getURL("http://www.flashbank.cn: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%然后完全匹配就ok了,即使你的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>?
7.最NB的办法是在HTML中添加:
scale="exactfit"!
最后给蓝色一个问的朋友做个一个关于System.capabilities.screenResolutionX和System.capabilities.screenResolutionY应用的例子和教程:
地址:
screen.rar
要是能有更好的办法可以留言补充进来!
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058