Flash Web结构之数据显示层

所属分类: 媒体动画 / Flash教程 阅读数: 45
收藏 0 赞 0 分享
  前面讲Flash Web背景层的时候已经提到了数据显示层。由于笔者基本不使用组件,所以对笔者来说,数据显示层主要是指TextField,或者用MC简单包装的TextField。它们是网站信息的主体部分,一般都是动态的调用外部信息。当然,由于我用MC进行了包装,它们也可以作为按钮使用,比较常见的就是标题列表,比如我主站上三个子站最新发布列表。

  就像我前面说过的,数据显示层要尽量的精简体积,它是一个Flash web浏览效率的关键,不适合做大量的效果,尤其是位图效果。而它的结构也要尽量清晰且工整,便于代码控制。对于Flash模式的网站可以考虑直接将TextField放到_root上;而对于PS模式和混合模式,则最好还是用MC对TextField进行包装,以保证网站各栏目的独立性。

  浅谈数据层

  数据层可谓是整个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较常规网页的最大优势之一。在这里,我们需要注册俩个负责数据刷新的函数:

function chuShi(){gotoAndPlay("chuShi");}
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三帧式就简单介绍到这里,具体细节其实非常丰富,这里只是抛砖引玉。
更多精彩内容其他人还在看

Flash cs3绘制人物高级行走动画教程

本教程向大家介绍Flash cs3绘制人物高级行走动画效果,教程难度不是很大,绘制方法及过程介绍的也非常详细,教程很实用,转发过来,希望大家喜欢
收藏 0 赞 0 分享

Flash CS4来制作漂亮的气泡动画教程

本教程向脚本之家的朋友介绍用Flash CS4来制作漂亮的气泡动画,制作出来气泡真的很好看,制作效果是采用代码形式实现,觉得很不错,转发过来,感兴趣的朋友可以一起来学习
收藏 0 赞 0 分享

flash基础教程:帧、关键帧、空白帧概念及区别介绍

动画的产生是帧来实现的,那什么是帧?帧、关键帧和空白帧之间又有什么区别?本文就为大家介绍一下三者之间的关系
收藏 0 赞 0 分享

Flash教程:动画背景的绘制方法之透视篇(给新手)

Flash动画在网络上的广泛传播,已经成为上网一族喜闻乐见的一种艺术形式。动画背景的绘制方法有很多,也有很多表现方法。这里将结合透视学的基础知识向大家简单的介绍一下动画背景的绘制。
收藏 0 赞 0 分享

Flash AS入门教程:Flash AS3.0制作有年份有日期的时钟

本教程是向大家介绍利用Flash AS3.0制作有年份有日期的时钟,虽然制作时钟老套了点,但它确可以较全面地应用到时间日期和间隔等知识,仍不失为较好的入门练习,转发给大家,希望对大家有所帮助
收藏 0 赞 0 分享

Flash相册制作大师具体该如何使用 Flash相册制作大师使用教程

在本文中我们将会看到的是Flash相册制作大师的具体使用的方法
收藏 0 赞 0 分享

flash基础教程:混色器面板图文介绍

混色器面板是Flash中用于色彩处理的一个重要面板,熟练地使用该面板,可以帮助用户快速地完成色彩的填充,编辑出色彩丰富的图形。本教程为大家详细介绍一下混色器面板,希望对大家有所帮助
收藏 0 赞 0 分享

25个绝对让你应接不暇的Flash网站创意

在Web设计过程中,运用成熟的Flash技术可以把你任意想到的idea表现到产品页面中。这里为你整理发现了25个绝对让你应接不暇的 Flash网站创意,更好地体现网站的互动应用,同时可以让你大饱眼福,一起来欣赏吧
收藏 0 赞 0 分享

教你用Flash制作非常酷的二进制时钟动画

今天在这个教程中我们将学习用Flash做一个不同寻常的,但非常酷的时钟:一个二进制时钟,中间用到了代码,但介绍地很详细,相信很值得大家学习
收藏 0 赞 0 分享

Flash动画特效制作技巧:制作超酷的文字炸开动画效果

本教程向大家介绍Flash动画特效制作技巧,本实例是制作文字炸开的动画效果,制作效果非常酷,制作过程也比较简单,喜欢的朋友可以过来学习一下这种制作方法
收藏 0 赞 0 分享
查看更多