您的位置: 首页 > 技术文档 > 多媒体制作 > 浅谈flash web的结构
深入了解setInterval方法 回到列表 A*寻路,二叉堆优化及AS3实现
 浅谈flash web的结构

作者:jimohuoshan  时间: 2007-04-24 文档类型:原创 来自:蓝色理想

第 1 页 引言
第 2 页 flash web结构概述
第 3 页 浅谈过渡动画层
第 4 页 浅谈背景层
第 5 页 浅谈数据显示层
第 6 页 浅谈数据层
第 7 页 综述

数据层可谓是整个flash web的中枢神经系统,负责flash web的所有数据显示和交换,还有功能的实现,甚至是动画的控制。在正式开始讲解数据层之前,我想先回顾一下我自己的代码编写历史。最开始的时候,我一般都是直接把代码写在元件上,这样写的局限性比较大,很多功能无法实现;后来我开始尝试在时间轴上写,可由于当时能力有限,部分代码还是要写在元件上,这样就造成代码混乱,时间一长,自己也记不清代码到底写哪儿;AS能力稍微强点后,我就不再在元件上写代码了,而是全部写在时间轴上,一般都是每个栏目,或者是每个MC包含自己独自的代码,这样做的好处是,代码分布比较清晰,而且代码独立性比较好。但即便这样做,还是不够理想,因为如果网站MC嵌套结果非常复杂的话,每个MC的代码都独自包含,那么代码可能会写在很深层的MC上,而且MC很多话,代码也将随之分布很散,这样还是不方便代码的集中管理,也不容易从总体上把握网站数据之间的联系;那么现在的我怎么做呢?由于我现在不仅AS已经玩的很熟,而且能够从宏观上对网站结构进行比较到位的把握,所以我已经完全有能力根据网站的特点和功能在正式动工之前就把网站划分为若干功能模块,然后用我自创的MC三帧式去完成每个模块的实现。打开我网站的源文件,你会发现,除了主时间轴和主时间轴上一系列具有“三帧式”结构的空MC外,其它地方极少有代码,可以说核心代码已经完全从网站中分离了出来。在主时间轴上,一般来说第一层是AS层,第二层可有可无的标签层,第三层就是数据层,全部的“三帧式”MC都放在这一层,最下面的那些层就是网站主框架了。也许你已经忍不住要问了,你老说“三帧式”,到底什么是“三帧式”啊?问得好,这正是我下面要讲的重点。

“数据层MC三帧式”是我为了方便数据管理而自创出来的一种有效的数据组织框架,它巧妙的利用了时间轴,具有清晰的结构,而且还具有通用性。从字面意思,我们便可以猜出来,它是具有三个空白关键帧的影片剪辑,这三个帧的名字按在时间轴上的先后顺序依次为“chuShi”、“shuaXin”、“gongNeng”。

“chuShi”帧:这一帧负责系统的初始化,主要分两部分,第一部分一般都是一大串变量。这些变量又分为三种,第一种是所有这个MC要操作的对象和其它元件接口;第二种是一些系统初始变量,比如将负责留言显示的页码变量初始为1,就可以让留言初始为显示第一页;最后还有一个比较特殊的布尔变量,就是“yiJiaZai”,我们把它的值初始为false,表明此MC内控制的外部数据此时还未进行过加载,一旦这个MC控制下的数据加载成功,我们立刻将其值变为true。这样做的好处是可以根据此值判断数据是否是第一次加载,然后进行不同的设置和响应。第二部分则是注册刷新函数,有经验的动态flash web开发者都应该知道,FLASH中的数据刷新是重点,这也是flash web较常规网页的最大优势之一。在这里,我们需要注册俩个负责数据刷新的函数:

  1. function chuShi(){gotoAndPlay("chuShi");}
  2. function shuaXin(){play();}

稍候我会解释为什么。

“shuaXin”帧:这个帧是个空白关键帧,什么都没有,它的意义也将在下面解释:)

“gongNeng”帧:这帧主要负责各种功能的实现以及数据的呈现,为了方便对整个网站的控制以及各“三帧式MC”之间的相互控制,我建议把比较重要的功能都写成函数。在“gongNeng”帧代码的最后一定要加上一句gotoAndStop("shuaXin")。这帧中还有一个重头戏就是错误分析和处理,但为了紧扣文章中心,这里就不多讲了。

这样以来我们就建立起一套简单有效的数据控制机制。首先在_root上将所有的“三帧式MC”都stop到第一帧,也就是“chuShi”帧,然后建立一套数据加载机制,通过控制三帧式MC的播放来控制数据加载顺序。数据加载完成后,我们就可以在任何地方通过控制三帧式MC来控制这个MC负责的网站某特定部分。比如有个名字为“lieBiao_mc”的三帧式MC是负责网站文章标题列表这部分的功能,我们就可以通过下面极其简单的代码来实现对文章列表的控制:
如果我们要得到文章列表的初始状态,只需要调用:_level0.lieBiao_mc.chuShi();
如果我们要得到文章列表的某特定状态,只需要对负责此状态的变量赋值,然后调用:_level0.lieBiao_mc.shuaXin();
如果我们只需要调用文章列表中的某一项功能,只需要调用:_level0.lieBiao_mc.特定功能函数名();
由于我们在“gongNeng”帧中就有错误分析、过渡动画等这些重复性内容,所以当调用shuaXin函数时,这些内容就会自动触发,非常简单好用。

数据层MC三帧式就简单介绍到这里,具体细节其实非常丰富,这里只是抛砖引玉,细节全部略去。

出处:蓝色理想
责任编辑:moby

上一页 浅谈数据显示层 下一页 综述

◎进入论坛Flash专栏版块参加讨论

相关文章 更多相关链接
深入了解setInterval方法
A*寻路,二叉堆优化及AS3实现
设计五原则
Web 表单设计原则和实践
关于中英文正文字体比较
作者文章
FLASH与ASP通信原理入门
FLASH基础开发习惯
用纯AS写滚动条
热门搜索:CSS Fireworks 设计比赛 网页制作 Dreamweaver Studio8 Flash
站点最新 站点最新列表
疯狂的程序员 第五十回
疯狂的程序员 第四十九回
疯狂的程序员 第四十八回
疯狂的程序员 第四十七回
疯狂的程序员 第四十六回
疯狂的程序员 第四十五回
疯狂的程序员 第四十四回
疯狂的程序员 第四十三回
疯狂的程序员 第四十二回
疯狂的程序员 第四十一回
栏目最新 栏目最新列表
火星人的耳机
公司正式宣布创业失败
用corelDEAW 12打造唇膏
二行代码解决全部网页木马
一行代码解决iframe挂马
Photoshop制作星空爆炸效果
CorelDraw 12打造休闲裤
Firework如何画特殊的切角图形
Firework打造韩式风格的手提袋
flash实例:打造佛光效果
>> 分页 首页 前页 后页 尾页 页次:6/71个记录/页 转到 页 共7个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

本文现有 2 条评论 暂时没有人参与评分


GUZF Publish at 2007-7-20 23:52:22
楼主在这里说的实在是太有道理了,我深有同感!
虽然我现在是学设计与制作的,但我觉得自己对设计不是很有缘的,就是你说的那句“flash web正好适合我这种程序和设计两边都不靠的人生存”,这就让我又重新思考了一下我的wed道路该怎么走。很希望可以与你一起探讨flash web方面的问题,有兴趣的话可以加我Q273156744
谢谢!
Novem Publish at 2007-4-25 18:51:42
RIA有FLEX,动画才是Flash的天下,至于SWF这个格式,AS这个语法,汗下.flash web开发,不知道这是一个什么概念,如同AJAX?还是展现动画技巧?LZ,说清楚点.
您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
大师之路--Photoshop 完全解析
《超越CSS》新书上市
Don't Make Me Think 第2版
HTML与CSS入门经典(第7版)
《FLASH MX2004网站开发精粹》
《CSS入门经典》
《设计师谈网页设计思维》
作品集 更多内容

慧兰服饰 什么都没有 Smartphone TV 软件交互设计 HK-XM8突击步枪 春天 [摄影]  绿色长城基金会 "百万大抽奖"一个活动的页面. 石山工作室