快速业务通道

FLASH常见问题整理

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-09
善flash站点。假如有很多的外部wsf文件需要载入进主swf文件,要怎么样才能实现呢?今天,我们就来探讨一下类似国外著名站点2advanced(www.2advanced.com)预载页面的制作方法。(具体效果登陆该网站观摩)
先来学习一下一般loading的制作思路。它是用ActionScript来实现。新建一层,这层专门放Action,
第一帧,
ifFrameLoaded ("场景", frame) {//假如场景中地祯数已经载入
goto and play(“start”) //跳至并播放某某祯(自己设定的帧标签)
}
第二帧,
goto and play("场景1", 1)//跳至并播放第一祯循环
再加上一个load的MC循环播放在这两帧的中间,就OK了。很多新手对于loadmovie调用的外部swf在主swf里的定位很疑惑。其实很简单,如果是loadMovieNum进来的,在调用的外部swf文件第一帧加AS:this._x=100;this._y=200;(该坐标就是你要求外部swf在主swf场景里的位置坐标);如果是loadMovie语句调用swf到一个空MC,只要把空MC放到你要求外部swf所处的位置的左上角,比如:坐标(100,200)。
如果要实现精确下载的话,flash 5上就有了美妙的函数:getBytesLoaded() 和 getBytesTotal()。其中:getBytesLoaded()可以让我们得到已经下载的字节数,而getBytesTotal()则告诉我们该文件一共有多少字节。我们在主场景做一个动态文本设置变量为input,Bar为一矩形长条的实例名,其长度为100,然后在舞台上将Bar长度变为1。在第一帧上加as:
_root.onLoad = function () {
totalBytes = _root.getBytesTotal();
}
_root.onEnterFrame = function () {
loadedBytes = _root.getBytesLoaded();
percentDone = int((loadedBytes/totalBytes)*100);
//显示下载进度为number%
output = percentDone+"% of File loaded";
//进度条的X尺寸为下载进度percentDone
_root.bar._xscale=percentDone;
// 如果load完毕
if (percentDone >= 100) {
// goto frame 2
this.gotoAndStop (2);
// 终止这个循环
_root.onEnterFrame = null;
}
};
一般的逻辑思路见下图:

好了,通过上面两种loading的制作,相信你已经熟悉了loading的步骤。我们开始正式的preload制作。
第一:新建影片。大小为550×400,颜色为黑。用矩形工具画一个长宽分别为54,18的矩形。按ctrl+F8转变为按钮。为了美化,可以在rollover区按F6建一关键帧,把矩形的颜色变为红色。
第二:把我们刚做好的按钮从库里面拉到编辑区域。一共拉出来3个(这是做元件的好处,可以重复使用^_^),把它们水平排列。新建一层,选择文字工具在每个按钮中间分别写上:
button 1,button 2,button 3,字体颜色为黑色。
第三:在编辑区域中画一个无填充色、蓝色边框的矩形,打开属性面板,将其长,宽值输入550,184。坐标为0,180,按回车确定。按ctrl+F8将其转变为影片剪辑,实例名起为content。同样的方法创建一新元件名为control,在第二帧创建空白关键帧,在编辑区域画一个白色矩形,长宽都为0.5,坐标为(0,0)。在第四十帧上按F6建关键帧。在第二十帧上建关键帧,将该矩形长宽定为550,184。其坐标为(-275,-92)。好了,在1和20帧,20和40帧之间点右键,选择第一个选项(create motion tween)创建动画。再新建一层,在20帧处添加空白关键帧,画一矩形,也将其转变为电影剪辑(实例名为loadBar)。建新层,
在第一帧加语句:stop();在20帧加语句:stop();
//load 我们需要的swf文件(后面制作)
loadMovie(_root.nextMovie,_root.content); //把nextMovie这个swf文件载入进content这个mc里。
选中2,21帧,分别在属性面板中给帧起个名字(术语叫帧标签)。2帧为“close”,21帧为“open”。再建一层,在20帧加一个影片剪辑loadbar。如上述做法,其为一矩形长条的实例名,其长度为100,然后在舞台

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号