论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: 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 AS教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

有关Flash全屏问题的详细解说

文章类别:Flash AS | 发表日期:2009-8-11 17:27:26

有关Flash全屏问题的详细解说

关于FLASH网站,本人也是新手,学习很浅,一边上课一边自学,现在发现几乎每天都有FLASH全屏问题提问,我就想把我最近学习到的知识和大家分享一下。

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了,左边自然就不会再加了。就是这个道理。

以上举例只是保持居中的位置,如果想让其保持上的位置,或者下,甚至任何位置,发挥你们的数学头脑去计算吧。

最后,发布出去的时候,在HTML发布设置里设置长宽都是100,不缩放。

最最后,生成的HTML文件用DW打开一下,修改-页面属性-上下左右边距全部设置为0,这样就可以了。

PS:这不是什么自创的东西,就是我总结了一下整理给大家看看,其中不免有因为粗心或者其他原因写错误的地方,希望大家一同指出来。

视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058