学习宽度在1400px以上的全站flash适应各个分辨率的三种方法
宽度在1400px以上的全站flash,如何适应各个分辨率,
因为还是以1024为主,所以主体的内容都放在1024以内,但是也要适应大的屏幕。
整理答案如下:
第一种方法:
要让flash自适应浏览器屏幕大小需要做到以下两点:
1、swf文件随着浏览器屏幕大小也相应改变大下;
方法:在网页里除了放你的swf文件外不要放其他的任何内容,并且swf文件的宽,高都设为100%;(可以看我的源文件里的fullscreen.htm文件);
2、当swf文件大小改变时,flash 内容也相应重新安排。
在这个例子里,我在主舞台上使用了一loader组件来载入一张图片。当你调整浏览器大小时,swf文件大下相应发生变化。我使用了Stage 对象的onReisize事件来改变loader组件的大下和位置。
第二种方法:
首先是:
在网页中把flash的高、宽都设为100%。
在flash中加入
Stage.scaleMode = "noScale";//这个是一定要的
Stage.align = "TL";
然后,方法有两个:
1、通过System.capabilities.screenResolutionX和System.capabilities.screenResolutionY获得屏幕大小,然后调整flash里的相应显示,比较简单。
2、这个比较好,每次调整浏览器大小的时候都会触发,而且检测的是浏览器里的舞台大小,比较准确。
fullscreen = new Object();//创建类
fullscreen.onResize = function() {//swf大小改变时触发
box._x = Stage.width-300;//根据Stage.width和Stage.height获得的舞台的宽和高来调整显示
};
Stage.addListener(fullscreen);
第三种方法:
在flash中添加:
Stage.scaleMode = "noScale";//场景内元素不随场景放大缩小
Stage.align = "LT";//对齐方式为左上角(这样的好处是可以比较好地控制坐标)
var autosf:Object = new Object();
autosf.onResize = function() {//当场景改变时
//这里就是一些物体的自适应了,其实很简单,动动脑筋就解决了,比如一个MC始终在中间的,那么:
load_mc._x = Stage.width/2;
load_mc._y = Stage.height/2;
//例如有些要出现在场景最下面的,那么:
dd_mc._x = Stage.height-dd_mc._height+15//自己+一个值修正坐标
//例如某些MC要和一些MC的位置互动的,那么可以用定好位置的MC的坐标,如:
ee_mc._x = dd_mc._x+15;
ee_mc._y = dd_mc._y+20;
}
供大家学习和参考,如果有更好的方法,可以分享哈!
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |