AS2.0 让flash自适应全屏,并且不自动缩放
AS2的写法:
fscommand("fullscreen", "true");
Stage.scaleMode = "noScale";
1.关于全屏
全屏分为浏览器全屏和FLASH全屏两种,浏览器全屏不是FLASH可以左右的内容,而且不同的浏览器未必都有效,在这里就不讨论了,具体方式是使用JavaScript去根据屏幕的大小调整浏览器窗口的大小,有兴趣的朋友可以去搜一下相关的知识。
2.关于FLASH全屏
关于FLASH全屏,我们知道如果对FLASH的内容进行缩放,那么效果上肯定会大打折扣,图片会失真,或者变形。所以FLASH全屏的正解是:实现背景全屏,网站上的所有内容和页面保持固定的相对位置。
3. Stage类函数
类型:
(1) align: 指定FLASH的对齐方式,分为T,B,L,R,TL,TR,BL,BR.每个函数对应哪种对齐方式自己去搜索一下吧
举例用法:Stage.align="TL";
(2)height,width :属性,以像素为单位指定舞台的高度和宽度。
(3)scaleMode: 指定FLASH的内容是否允许缩放。
(4)onResize=function(){} :调整FLASH动作的时候使用的自定函数,大括号内为自己写的函数,只有当scaleMode为noScale时使用。
(5)addListener(对象):添加监听对象,就是检测什么时候去改变FLASH大小。
好了,能列举出来的函数就大概那么多,下面讲讲用法。
新建一个FLASH,我使用的是MX2004版本,AS2.0,舞台大小800*600。
1.插入新的一个MC,里面放入你要作为背景的图片,这里要说明一点,就是背景尽量不要使用太复杂的图片,或者真实的图片,因为你在笔记本宽屏的时候就会发现背景会被拉长,比例不对,所以我选用纯色+渐变的效果,,保存完毕,然后拖上舞台,设置名字为bg
2.在第一帧上加入
Stage.scaleMode="noScale" //禁止内容缩放
Stage.align="TL"; //顶端,左对齐
var jianting:Object=new Object(); //创建一个新的监听器,我定义成jianting
//设置动作
jianting.onResize=function(){
onEnterFrame=function(){
bg._width=Stage.width;//指定bg这个MC的宽=监听到的浏览器的宽,下同
bg._height=Stage.height;
}
}
Stage.addListener(jianting);//把浏览器屏幕加入监听对象中
jianting.onResize();//一进入就执行动作
好了,播放看看,这样背景是不是一直全屏啦~无论如何拖动。
现在有人问了,那上面的内容怎么办呢,呵呵,会在下面讲出,其实原理是一样的,只要把你想要实现的东西加到上面function里就行了,如果你有个MC,你想让它一直在屏幕的正中心,如何实现呢?
原理:MC如果要保持在背景中间,那么它的
X坐标就是 Stage.width/2-mc._width/2;
Y坐标就是Stage.height/2-mc._height/2;
不要和我说你看不懂,看不懂就去翻翻数学课本,里面肯定有更详细的解法。
现在,你所要做的就是把你认为需要改变位置的MC,一直改变它的X,Y坐标,这样就一直能够固定它的相对位置了,哈哈,是不是很简单啊,其实的确很简单,如果觉得这样变换位置太生硬的话,可以给它加上点缓动的效果,
比如mc._x+=((Stage.widht-mc._width)/2-mc._x)/5;
mc._y+=((Stage.height-mc._height)/2-mc._y)/5;
解释一下缓动的公式,缓动的公式为 位置+=(目的地 - 现在的位置)/速度。
+=的意思是这个MC的坐标以右边计算出的结果为增量,累计起来计算,知道目的地,就像吃东西,第一次吃50%,第二次吃25%,第三次12.5%类似,吃完100%后,目的地=现在的位置,增量为0了,左边自然就不会再加了。就是这个道理。
以上举例只是保持居中的位置,如果想让其保持上的位置,或者下,甚至任何位置,发挥你们的数学头脑去计算吧。:D :D
最后,发布出去的时候,在HTML发布设置里设置长宽都是100,不缩放。
最最最后,生成的HTML文件用DW打开一下,修改-页面属性-上下左右边距全部设置为0,这样就可以了
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例