不少伊缘系列Flash CMS用户在建站时,在使用自己的首页Flash文件时遇到了困惑;将自己设计的首页Flash文件在后台加入后发现前台不能正常显示。
内容不居中,或是在切换到全屏后首页显示内容部居中。
这是显示的内容对象的坐标问题;由于客户端的显示器和分辨率不同,而Flash属性面板中设置的X,Y坐标值是固定的,所以做好的Flash文件在1024*768的分辨率下市居中的,而在1360*768的分辨率下浏览就向左偏移了。
不少应用其他Flash全站模板的人也遇到过同样的困惑!
那么怎么设计一个在所有分辨率下浏览都居中的Flash首页文件呢?下面我们来新建一个简单的首页文件!
1.新建一个Flash 文件(ActionScript 2.0)点击确定:

2.新建Flash文件后,在菜单栏点击“插入”选择“新元件”,新建一个名为mc的影片剪辑,点击确定:

3.下面我们将所有的Flash里面要显示的内容都放在这个mc元件上;为了快捷我们就随便写几个字,我们写上“伊缘网络”,X和Y的坐标值都设置为0:

4.然后我们再返回到场景中,将刚才建立的元件mc拖放在场景里面:

5.在场景中选中刚才拖入的元件mc,打开属性面板(按 Ctrl+F3) 给这个元件设置一个对象名称,这个对象名称就是我们在ActionScript中引用这个元件的名称;我们给它命名为“_mc”:

6.下面我们来用ActionScript来定义这个对象的坐标,按‘F9’打开动作面板在场景的帧动作上加入ActionScript代码:
Stage.scaleMode = "noScale"; //禁止Flash自动缩放
Stage.align = "TL"; //Flash居左上角对齐
function Set_mc () { //建立一个控制‘_mc’坐标的函数
_mc._x = (Stage.width - _mc._width) / 2; //设置‘_mc’的X坐标;‘_mc’的X坐标 = (舞台宽度 - ‘_mc’的的宽度) 再除以 2;
_mc._y = (Stage.height - _mc._height) / 2;////设置‘_mc’的Y坐标;‘_mc’的Y坐标 = (舞台高度 - ‘_mc’的的高度) 再除以 2;
}
Set_mc ();//调用控制‘_mc’坐标的函数,这样在这个Flash文件载入时就完全居中了;
//下面代码实现在浏览器窗口放大、缩小或切换到全屏时‘_mc’的坐标自动改变
stageListener = new Object(this);
Stage.addListener(stageListener);
stageListener.onResize = function ()
{
Set_mc ();//舞台宽度或高度改变时,重新调用设置‘_mc’坐标函数
};

完成后发布,上传至网站空间再重后台中设置这个文件为首页文件;再从前台浏览可以发现无论怎么改变浏览器窗的宽度和高度或是切换到全屏。显示的这几个都是绝对居中的。当然制作的Flash文件不可能只有这几个字,但原理是一样的;值得注意的是在制作Flash的时候最好把所有的显示对象都放在一个元件里面,这样方便坐标控制。
真正要得到较好的应用要理解一下几个ActionScript对象:
_mc 在操作第五步时设置的对象名称;
_mc._x ‘_mc’的水平坐标值
_mc._y ‘_mc’的垂直坐标值
Stage.width 舞台宽度,也就是浏览器窗口的宽度,在全屏状态下他是分辨率的水平值
Stage.height 舞台高度,也就是浏览器窗口显示区域的高度,在全屏状态下他是分辨率的垂直值
Tags:
ActionScript Flash居中 Flash全站 Flash CMS 