首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Flash >

精美全Flash个人网站的打造全程解析

2012-11-05 
精美全Flash个人网站的制作全程解析?原文件下载地址:http://www.5uflash.com/download/web.rar演示地址::h

精美全Flash个人网站的制作全程解析

?原文件下载地址:
http://www.5uflash.com/download/web.rar
演示地址::
http://www.5uflash.com/download/web/default.html

前言:这是暑假期间我花了不到三天时间制作完成的,本来没准备写这篇教程(我很懒的-。-),后来觉得有很多和我当初一样渴望为自己作个精美的网站而苦于找不到这样一篇全面的教程的,所以就写了下来,以此感谢在学习Flash过程中得到的所有帮助,如果读者觉得对自己有些帮助的话就预祝我今年考研顺利吧:)
言归正传,先说说这个网站,标题我用了“精美”一词,实际上这只是个广告词汇,至少我对前期的配色和创意方面都不满意,不过作为教程还是比较合适的,基本上用Flash作网站的技术都包括了。
考虑到个人网站的更新速度,除了留言模块采用Flash+ASP+Access外,其他部分都使用Flash+XML构建。留言模块比较简单,大家如果要看功能比较全的留言本制作教程,可以从网上找,很多的(我说过我很懒的)。
第一次写这么长的教程,不准备把制作步骤一步一步写出来,这样太机械,看完后也不知所云,我会把每个模块预计的目标,自己的想法,和实现步骤重点写出来,这样我想对您会更有帮助:)
工具:Flash8(AS2.0)
Tips:这个网站使用了不少AS2.0的内置类,相关语言不清楚的话可参考Flash8的帮助文档。
第一章:模块划分
基本上个人网站只有About,News,Works,Contact几个模块(其实大部分模块的实现方式很类似的),因为使用MovieClipLoader类来动态加载,所以我们的swf包括about.swf, news.swf, works.swf, contact.swf以及放置导航条,背景效果和音乐播放器的main.swf,最后还有一个index.swf用来载入main.swf的。
Tips:当然结构是看个人喜好的,你可以把背景效果和播放器都做成单独的swf。
第二章:index.swf
Index.swf主要是加载main.swf并包括一个loading效果的(这个loading效果是我最满意的部分,是受一个广告的启发,虽然实现很简单),这个loading在后面的模块中也经常使用,所以把它做成一个单独的MC(loading_mc);
Index.swf的背景是一个渐变,这是为了不使在loading的时候画面不要过于简单,我使用的是一个色系的颜色,上面深(#009288),下面浅(#A8D4D1),大家不必拘泥,用你们喜欢的颜色就可以了。
重点是loading_mc的制作,下面是loading_mc的预览图:

其实就是一个标尺的样子,右边有个动态文本显示加载的百分率,并且其y值随之上升到相应高度的位置(呵呵,简单吧,不过效果很不错,现在大部分loading制作时显示百分率的文本位置都是固定的,这个创意为整个网站增色不少的)
制作过程:左边的那个标尺不用说了吧,使用极细直线来作,右边的动态文本命名为loading_txt,字体使用04b_08,大小为6
下面就是AS代码部分了,在主场景第一帧写代码:
fscommand("fullscreen", true);?????? //全屏
fscommand("allowscale", false);??? //不许缩放
var my_mcl=new MovieClipLoader();????? //定义一个MCL了,不熟悉此类的看帮助文档
var mcllistener=new Object();???????? //定义一个侦听器对象
var container=this.createEmptyMovieClip("container", this.getNextHighestDepth());
//container用于装加载的main.swf
mcllistener.onLoadStart=function(){
loading_mc._visible=true;
loading_mc.loading_txt.text="00.00";
}//我的方法是改变loading_mc的_visible来控制它的显隐,当然也可以用其他方法,不? //过这个来得简单
mcllistener.onLoadProgress=function(target, bytesLoaded, bytesTotal){
var loaded=100*bytesLoaded/bytesTotal;
loading_mc.loading_txt.text=loaded.toString().slice(0,5);
loading_mc.loading_txt._y=50-loaded/2;
}//loaded是加载的百分比,因为我的标尺高度是50px,所以loading_txt的y值应为50-//loaded/2
mcllistener.onLoadComplete=function(){
loading_mc._visible=false;
}//加载完成后,loading_mc隐藏
mcllistener.onLoadInit = function(target){
target._x=0;
target._y=0;
}
my_mcl.addListener(mcllistener);//为my_mcl添加侦听器
my_mcl.loadClip("main.swf",container);//加载main.swf到container中
?
上面的代码不麻烦吧,基本上只涉及MCL类和MC的坐标控制:)
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyuweb/1088.html

热点排行