全flash站制作剖析

作者:李宏明

经过一段时间的Flash学习之后,很多朋友开始对那些全Flash网站的制作发生兴趣。全Flash网站基本以图形和动画为主,所以比较适合做那些文字内容不太多,以平面、动画效果为主的应用。如:企业品牌推广、特定网上广告、网络游戏、个性网站等。

制作全Flash网站和制作html网站类似,事先应先在纸上画出结构关系图,包括:网站的主题、要用什么样的元素、哪些元素需要重复使用、元素之间的联系、元素如何运动、用什么风格的音乐、整个网站可以分成几个逻辑块、各个逻辑块间的联系如何、以及你是否打算用Flash建构全站或是只用其做网站的前期部分等等,都应在考虑范围之内。

实现全Flash网站效果多种多样,但基本原理是相同的:将主场景作为一个"舞台",这个舞台提供标准的长宽比例和整个的版面结构,“演员”就是网站子栏目的具体内容,根据子栏目的内容结构可能会再派生出更多的子栏目。主场景作为"舞台"基础,基本保持自身的内容不变,其它"演员"身份的的子类、次子类内容根据需要被导入到主场景内。

从技术方面讲,如果你已经掌握了不少单个Flash作品的制作方法,再多了解一些swf文件之间的调用方法,制作全Flash网站并不会太复杂。

参考流程:网站结构规划—>Flash场景规划—>素材准备—>分别制作—>整体整合

一、全Flash网站和单个Flash作品制作的区别

二、常用技术

1、重要ActionScript代码控制

2、Loading的制作

3、文本导入

三、实例制作剖析

1、本实例网站结构规划

2、首页场景index.swf的制作

3、次场景Cartoon(200208.swf)的制作

4、二级次场景(200208_frog01~200208_frog05)制作

5、About中的文本导入

四、注意事项

以上我们通过实例剖析的方式大略介绍了全Flash网站的基本制作方法,希望给喜欢Flash的朋友们一点实实在在的帮助,期望不久以后能看到大家做出的精彩Flash网站!本文Flash网站实例源文件下载

一、全Flash网站和单个Flash作品制作的区别

1、文件结构不同

单个Flash作品的场景、动画过程及内容都在一个文件内,而全Flash网站的文件由若干个文件构成,并且可以随发展的需要继续扩展。全Flash网站的文件动画分别在各自的对应文件内。通过Action的导入和跳转控制实现动画效果,由于同时可以加载多个SWF文件,它们将重叠在一起显示在屏幕上。

2、制作思路不同

单个Flash作品的制作一般都在一个独立的文件内,计划好动画效果随时间线的变化或场景的交替变化即可。全Flash网站制作则更需要整体的把握,通过不同文件的切换和控制来实现全Flash网站的动态效果,要求制作者有明确的思路和良好的制作习惯。

3、文件播放流程不同

单个Flash作品通常需要将所以的文件做在一个文件内,在观看效果是必须等文件基本下载完毕才开始播放。但全Flash网站是通过若干个文件结合在一起,在时间流上更符合Flash软件产品的特性。文件可以做的比较小,通过陆续载入其它文件更适合Internet的传播,这样同时避免了访问者因等待时间过长而放弃浏览。

二、常用技术

1、重要ActionScript代码控制

这是全Flash网站实现的关键,尤其是Flash MX新增了很多功能强大的命令,关于这部分,请大家可以参看看看其它的资料,这里只介绍部分制作全Flash网站需要使用的比较重要的ActionScript函数。

loadMovieNum("url",level[, variables])

loadMovie("url",level/target[, variables])

功能说明: 
在播放原来加载的影片的同时将SWF或JPEG文件加载进来。 
参数说明: 
url 要加载的 SWF 或 JPEG 文件的绝对或相对 URL,不能包含文件夹或磁盘驱动器说明。 
level 把swf文件以层的形式载入到Movie里,若载入0层,则载入的swf文件将取代当前播放的Movie,。2层高于1层。 
Target 可用路径拾取器取得并替换目标MC,载入的电影将拥有目标MC的位置、大小和旋转角度等属性。(个人认为用Target好些,在控制载入.swf位置时比较方便) 
variables 可选参数,指定发送变量所使用的 HTTP 方法(GET/POST),如果没有则省略此参数。

层次Level:Flash允许同时运行多个SWF文件,Flash一旦载入一个SWF文件,则占据了一个"层次",系统默认的是_Flash0或_Level0,之后的Movie则按顺序放在level0---level16000里。第一个载入的SWF文件为_Flash0或_Level0,第二个如果加载到第一层时的称为_Flash1或_Level1,依此类推。注意前提是前面载入的文件没有退出,否则冲掉第一个SWF文件,第一个文件也从内存中退出。

注意:如果你将外部的Movie加载到Leve0层或者Level0里,那么,原始的Movie就会被暂时取代,要再用时还得重新Load一次,也就是说,一个Level在一个时间里只能有一个Movie存在。在使用LoadMovie和UnLoadMovie时必须特别注意Level之间的关系,否则,当你希望在一个时间里只播放一个Movie而Unload掉前一个Movie时,就会出现不必要的麻烦。

unloadMovieNum(level)

unloadMovie[Num](level/"target")

功能说明: 从 Flash Player 中删除已加载的影片。 
参数说明: 同上

loadVariables ("url" ,level/"target" [, variables])

功能说明: 
从外部文件中(例如文本文件,或由 CGI 脚本、Active Server Page (ASP)、PHP 或 Perl 脚本生成的文本)读取数据,并设置 Flash Player 级别或目标影片剪辑中变量的值。 
参数说明: 
url 变量所处位置的绝对或相对 URL 
level 指定 Flash Player 中接收这些变量的级别的整数。 
Target 指向接收所加载变量的影片剪辑的目标路径。 
variables 可选参数,指定发送变量所使用的 HTTP 方法(GET/POST),如果没有则省略此参数。

gotoAndPlay(scene, frame)

功能说明: 
转到指定场景中指定的帧并从该帧开始播放。如果未指定场景,则播放头将转到当前场景中的指定帧。 
参数说明: 
scene 转到的场景的名称。 
frame 转到的帧的编号或标签。

2、Loading的制作 
考虑到网络传输的速度,如果index.swf文件比较大,在它被完全导入以前设计一个Loading引导浏览者耐心等待是非常有必要的。同时设计得好的loading在某些时候还可以为网站起一定的铺垫作用。

一般的做法是先将loading做成一个MC,在场景的最后位置设置标签如end,通过ifFrameLoaded来判断是否已经下载完毕,如果已经下载完毕则通过gotoAndPlay控制整个Flash的播放。

以一个Loading文件为例,在场景里加入插入MC,

ifFrameLoaded("end"){ 
gotoAndPlay("开始播放的地方"); 
}

3、文本导入

在我们制作全Flash网站的过程中经常遇到一定量的文字内容需要体现,文本的内容表现与上面介绍的流程是一样的,不同的地方体现最后的表现效果和处理手法还是有些不同。

方法一、文本图形法

如果文本内容不多,有希望将文本内容做的比较有动态效果,可以采用此法。将需要文本做成若干个Flash的元件,在相应的位置安排好。文本图形法的文件载入与上面介绍的处理手法比较类似,原理都差不多。具体动态效果就有待大家自己去考虑,这里就不多介绍。

方法二、直接导入法

文本导入法可以将独立的.txt文本文件,通过loadVariables导入到Flash文件内,修改时只需要修改txt文本内容就可以实现Flash相关文件的修改,非常方便。

在文本框属性中设置Var:变量名(注意这个变量名)。

为文本框所在的帧添加ActionScript代码: 
loadVariables("变量名.txt","");

编写一个纯文本文件.txt(文件名随意),文本开头为“变量名=”,“=”后面写上正式的文本内容。

三、实例制作剖析

一般制作流程:

网站结构规划—>Flash场景规划—>素材准备—>分别制作—>整体整合

1、本实例网站结构规划

网站栏目:News、About、E-mail、Gallery、Cartoon、Animation

子栏目About:Feiyingis、Member、Relationship、ContactUs

红线部分构成主场景(舞台),每个子栏目在首页里仅保留名称,属性为按钮。

蓝线部分内容为次场景(演员),可以将次场景内容做在一个文件内,同时也可以做成若干个独立文件,根据需要导入到主场景(舞台)内。

2、首页场景index.swf的制作

全Flash网站由主场景、子场景、次子场景……构成。

和制作html网站类似,一般我们会制作一个主场景index.swf,主要内容包括:长宽比例、背景、栏目导航按钮、网站名称等“首页”信息。最后发布成一个html文件,或者自己做一个html页面,内容就是一个表格,里面写上index.swf的嵌入代码即可。

主场景安排:

蓝色线条部分为网站名称、版权等固定信息区,通常所在位置为Flash动画的边缘位置。

橙色线条内容为网站栏目导航按钮,通常也是固定在某个区域。按钮可以根据需要做成静态或动态效果,甚至可以做成一个包含MC变化的Button。

绿色线条部分为主场景导入子文件的演示区域。

在子文件的装载方面主要用到:LoadMovieNum、UnloadMovieNum两个控制函数,请参阅前文重要ActionScript代码控制。

这里我们以子栏目Cartoon的制作为例。主场景文件index中有一个按钮Cartoon,当我们点击Cartoon按钮时希望导入cartoon文件夹下的200208.swf文件。所以我们在场景内选择Cartoon按钮,添加Action代码:

on(release){ 
loadMovieNum("cartoon/200208.swf",1); 
unloadMovieNum(2); 

注意这里我们设置level为1。

3、次场景200208.swf的制作

现在确定Cartoon子栏目需要导入的文件200208.swf,该文件计划包含5个子文件。所以200208.swf文件的界面只包含用于导入5个独立子文件的5个图形按钮和一个标题。

200208.swf 
从图上大家可以看到,200208.swf文件包含5个属性为button的小图标,分别为Bu_2_frog01到Bu_2_frog05。我们需要的效果是:点击它们则分别导入相应文件200208_frog01.swf到200208_frog05.swf文件。

我们在场景内选择Bu_2_frog01,为这个按钮添加ActionScript:

on(release){ 
loadMovieNum("cartoon/200208_frog01.swf",2); 
}

点击Bu_2_frog02,为这个按钮添加ActionScript: 
on(release){ 
loadMovieNum("cartoon/200208_frog02.swf",2); 

…… 
依次将5个button分别设置好相对应的action以便调用相应的文件。

注意:这里我们设置level为2,是为了保留并区别主场景1而设置的导入的层次数,如果需要导入下一级的层数,则层数增加为3,依次类推。

4、二级次场景(200208_frog01~200208_frog05)制作

这里的二级次场景是与上级关联的内容,是本例中三级结构中的最后一级。该级主要为全Flash网站具体内容部分,可以是详细的图片、文字、动画内容。这里需要连接的是具体图片为内容,但同样需要做成与主场景比例同等的swf文件。例如:

200208_frog01

200208_frog02

该场景是最底层场景,为主体内容显示部分,具体动画效果大家可以根据需要做更深入。注意要在场景最后一帧处加入停止ActionScript代码:stop();这样可以停止场景动画的循环动作。

完整导入到主场景内的效果

5、About中的文本导入

查看本例的About子栏目,在文件index.fla里设置About按钮的action:

on(release){ 
loadMovieNum("aboutus.swf",1); 
unloadMovieNum(2); 
}

在aboutus.fla文件中做好显示文本的文本框,文本框属性设置为多行(Multiline),Var:aboutus(注意这个变量名)。

为文本框所在的帧加ActionScript代码: 
loadVariables("aboutus.txt","");

在aboutus.swf文件所属目录下编写一个纯文本文件about.txt,文本开头为“aboutus=”,“=”后面写上正式的文本内容。

将文本文件完整导入到主场景内的效果

四、注意事项

1、注意所有子文件的长、宽属性

全Flash网站从画面层次来看,非常类似Photoshop的层结构,我们可以把每个子场景看做为一个层文件,子文件是在背景的长宽范围内出现。为了方便定位,我们可以让子文件与主场景保持统一的长宽比例,这样非常便于版面安排。否则就必须用setProperty语句小心控制它们的位置。

2、发布文件时注意将html选项发布为透明模式

需要将每个子文件发布为透明模式的原因是不能让子文件带有背景底色,由于子文件的长宽比例与主场景基本是一致的,如果子文件带有底色,就会遮盖主场景的内容。

设置方法:在发布设置里勾选html选项,在html面板里选择windowsmode:TransparentWindowless,如图。

3、使用文本导入时,注意文本文件开头的内容必须是“与文本框属性中Var定义名相同的字符串=正文”。另外需要导入文本的swf文件与被导入的txt文本文件最好在同一目录内。

4、注意仔细检查文件之间的调用是否正确,避免出现“死链接”。

(0)

相关推荐

  • 全flash站制作剖析

    作者:李宏明 经过一段时间的Flash学习之后,很多朋友开始对那些全Flash网站的制作发生兴趣.全Flash网站基本以图形和动画为主,所以比较适合做那些文字内容不太多,以平面.动画效果为主的应用.如:企业品牌推广.特定网上广告.网络游戏.个性网站等. 制作全Flash网站和制作html网站类似,事先应先在纸上画出结构关系图,包括:网站的主题.要用什么样的元素.哪些元素需要重复使用.元素之间的联系.元素如何运动.用什么风格的音乐.整个网站可以分成几个逻辑块.各个逻辑块间的联系如何.以及你是否打算

  • 最新最全PHP生成制作验证码代码详解(推荐)

    1.0 首先先看代码 <?php header("Content-Type:text/html;Charset=UTF-");// 设置页面的编码风格 header("Content-Type:image/jpeg");// 通知浏览器输出的是jpeg格式的图像 $img = imagecreatetruecolor(,);//创建画布并设置大小 x轴 y轴 $bgcolor = imagecolorallocate($img, mt_rand(,), mt_

  • Flash 实用代码总汇第1/2页

    外部调用swf on (release) { loadMovieNum("service.swf", 1); } 外部调用数据 loadVariablesNum("about.txt", 0); System.useCodepage = true;//中文 音乐加入 mySound = new Sound(); mySound.attachSound("1"); mySound.start(); 关闭指定音乐 mySound.stop("

  • flash中,文本的导入方法

    3.文本导入 在我们制作全Flash网站的过程中经常遇到一定量的文字内容需要体现,文本的内容表现与上面介绍的流程是一样的,不同的地方体现最后的表现效果和处理手法还是有些不同. 方法一.文本图形法 如果文本内容不多,有希望将文本内容做的比较有动态效果,可以采用此法.将需要文本做成若干个Flash的元件,在相应的位置安排好.文本图形法的文件载入与上面介绍的处理手法比较类似,原理都差不多.具体动态效果就有待大家自己去考虑,这里就不多介绍. 方法二.直接导入法 文本导入法可以将独立的.txt文本文件,通

  • 关于培养色感,自己的一些方法

    本人不是高手,以初学的身份,尝试分享自己的观点.本文原为图文并茂的展示帖,为即将制作完成的flash网站制作教程中节选出来的自己学习的经验,后来由于收集到的图片弄不见了,要全文完成需要一定时间.原文稿件:http://www.picksun.com/blog/article.asp?id=104 泡了论坛的艺术版块很长一段时间了,发现许多网站做不好,不对头的原因是在配色问题上,对于我来说,配色尤其重要,假如自己的绘图艺术能力不高,要突破的是在颜色和内容的运用上,至少看起来要专业一些,工整一些,务

  • CSS实现每行新闻数量不等效果代码

    本来还以为这块是由后台单独去做的,今天看到这种效果,居然是CSS实现的.现在将它放到这里与大家共享 特别推荐 1.脚本代码收藏站,AJAX/JS/ASP/PHP一网打尽[特别推荐]! 2.看书了小说网! 3.中文最强大的搜索引擎! 4.我们,下载中心! 5.我们新增加photoshop,flash,制作教程经典收藏! [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • 最新的黑客技术:XSS跨站脚本攻击详细介绍

    总体上介绍 简单介绍什么是XSS攻击 如何寻找XSS漏洞 对于XSS攻击的总体思路 来自内部的攻击: 如何寻找内部的XSS漏洞 如何构造攻击 如何利用 结何实例攻击,如DVBBS&BBSXP 来自外部的攻击 如何构造XSS攻击 如何欺骗管理员打开 XSS与其它技术的结何 与mssql injection的结合 QQ跨站的结何 国内大型统计网站的跨站漏洞 社会工程学 制作恐怖的flash木马 制作方法由李丰初写 总结 正文: XSS总体介绍 什么是XSS攻击 XSS又叫CSS  (Cross Si

  • 十点防采集黄金建议

    笔者自己是写采集器的,所以对网站防采集有一些心得体会.因为是在上班时间,各种方法只是简单的提及.     很多防采集方法在施行的时候需要考虑是否影响搜索引擎对网站的抓取,所以先来分析下一般采集器和搜索引擎爬虫采集有何不同. 相同点: a. 两者都需要直接抓取到网页源码才能有效工作,    b. 两者单位时间内会多次大量抓取被访问的网站内容: c. 宏观上来讲两者IP都会变动: d. 两者多没耐心的去破解你对网页的一些加密(验证),比如网页内容通过js文件加密,比如需要输入验证码才能浏览内容,比如

  • Java常用测试工具大全

    目录 第一部分:九款性能测试 Java入门 Java测试工具 1.Arquillian 2.JTest 3.The Grinder 4.TestNG 5.JUnit的 6.JWalk 7.Mockito 8.Powermock 9.Jemeter 第二部分:工具完善补充(有重复) ParasoftJtest Abbot JProfiler AppLoader Agitator Cactus GJ-Coverage JCover JMeter JStyle HttpUnit Junit 总结 第一

  • php检测图片木马多进制编程实践

    前不久,我申请加入了某开源组织,他们要我写一个功能用来检测图片中是否有木马脚本. 其实一开始我什么也不知道,只是后来在网上查了一些资料,找到的全是有制作图片木马的教程,并没有找到检测的程序. 经过几番思索之后,决定从制作原理来分析这种木马程序.这种木马程序是十六进制编码写的,我灵机一动,写了以下这个上传类.最终通过了组织测验.呵呵 现在把它拿出来给大家分享,有什么不好的地方,还请指正! anyon@139.com; 复制代码 代码如下: <?php /** +------------------

随机推荐