利用Flash在WEB页面创作统计图(上)

来源:互联网 发布:oj网络用语什么意思 编辑:程序博客网 时间:2024/06/13 07:50

       系统要求:

1.  Macromedia's Flash MX software,现在的最新版是简体中文2004

2.  Macromedia Extension Manager,管理Macromedia Software系列软件插件的管理包,提供对FireworksFlashDreamweaver等软件的扩充性支持;

3.  Flash Charting Components,制作统计图形的插件、提供三种格式的统计图形:线性图、饼状图和柱形图。

优势:

1.  不用在WEB服务器上安装COM组件;

2.  减少WEB服务端载入过程,因为服务器端只需要提供生成统计图形的数据,而在客户端完成图形的生成;

3.  Flash Charting Components支持所有的服务端脚本,如aspasp.netjspphpperlcgiCF等等;

4.  利用Flash Charting Components有很多优势,作Banner、保护WEB数据等等。这就不介绍,大家各自挖掘。

制作过程:

1.  如果还没有Macromedia’s Flash MX software,请下载一个安装;

2.  安装Macromedia Extension Manager

3.  利用Macromedia Extension ManagerMacromedia’s Flash MX software安装Macromedia Flash Charting Components。方法是运行Macromedia Extension Manager然后在“file”菜单选择“install extension…”,在弹出的对话框中输入Flash Chating Components.mxp文件,点击“install”,就行,安装完后如图一所示:

图一

1.  创建第一个静态的统计图形;

打开Flash MX,新建一个文档,双击默认图层给它命名一个名字,比如Bar Chart然后设置它的宽度和高度分别为400px300px,如图二所示:

图二

              打开组件模板(CTRL-F7),展开“Flash Charting Components”,拖拽一个统计图形到你的图层场景上,本文中使用柱状图形(Bar Chart),给它起一个名字,比如MovChart,设置它的宽度和高度分别为390px290px,如图三所示:

图三

              然后就是写控制脚本。新建一个图层,把它命名为Actions,按F9打开脚本编辑框,在编辑框按图四所示输入Actions脚本:

图四

              至于怎么写,大家看帮助,最简单的是在脚本编辑框上方点击“+”按钮,然后在下拉菜单选择对应组件,然后在组件的扩展菜单中选择方法,最后选定某一个具体的方法添加到脚本编辑框,在脚本编辑框中输入相应参数即可。写完后点击语法检查,看看你的输入有没有误,错则改之,无则加勉:);

              最后在“文件”菜单选择“导出—〉导出影片”,保存到你的本地目录。至此,你的第一个统计图就做好了,选择在IE中打开此文件,看看实际效果,如图五所示:

图五

1.  创建动态的统计图形;

上面讲的是如何创建基本的静态的统计图形,接下来将要讲如何创建一个动态的统计图形

在创建动态的统计图形之前,让我们先了解一下FlashCharts是如何工作的。

        I.首先,FlashCharts是一种可以接受从服务器端传来的预定义好图像结构参数的XML文档数据的影片格式。并把这种XML文档数据解释为自己的图像格式。所以,我们首先就要知道XML是如何定义图像参数的,然后才是了解在FlashCharts中如何利用XML文档数据来产生图像的。

        II.上面的数据通信模式可以用以下图六来表示:

图六

                     III.以上模式可以简单地用以下步骤来阐述:

                            aHTMLFlashCharts发出包含SWF文件和XML文档的URL页面请求,如下所示:

<OBJECT >

...

  <PARAM NAME=movie VALUE="FlashCharts.swf?dataUrl=Data.xml">

...

</OBJECT>

                b.FlashCharts收到请求后,立马向URL请求XML文档数据;

                c.URL从数据库中查讯数据生成XML文档,并把它放到输出流中;

                d.FlashCharts接收到XML文档数据并按XML文档中定义的参数和数据把它表示为图形格式。

            IV.现在我们就来看看XML文档数据的结构。如下例所示:

<graph chartType="PIE" caption="Hits for the first half (in thousands)"

              xaxisname="Month" yaxisname="Hits" >

   <set name="Jan" value="20" link="showBreakUp.asp?month=Jan"/>

   <set name="Feb" value="9" link="showBreakUp.asp?month=Feb"/>

   <set name="Mar" value="7" link="showBreakUp.asp?month=Mar"/>

   <set name ="Apr" value="40" link="showBreakUp.asp?month=Apr"/>

   <set name="May" value="23" link="showBreakUp.asp?month=May"/>

   <set name="Jun" value="34" link="showBreakUp.asp?month=Jun"/>

   <set name="Jul" value="19" link="showBreakUp.asp?month=Jul"/>

</graph>

                a.graphy元素中的chartType指明使用那种统计图形格式;

                b.graphy元素中的caption指明统计图的主题是什么;

                c.graphy元素中的xaxisname指明统计图的横向坐标的主题是什么;

                d.graphy元素中的yaxisname指明统计图的纵向坐标的主题是什么;

                e.graphy元素中的节点包含具体的横向、纵向坐标数据和连接。

        接下来就动手制作动态统计图表,如前面创建静态统计图一样,打开Flash MX软件。

I.新创建一个400x300px的影片;

II.打开场景面板(SHIFT+F2),重新命名默认场景为Loading,再新建一个场景命名为Chart。如图七所示:

图七

说明:Loading场景展示给用户等待载入统计图那段时间所看到的图形,Chart场景是实际要看到的动态统计图形。

III.在Loading场景中就任由你设置了,简介、广告等什么都可以,根据实际需要定;在此场景我们需要实现两个功能:

    a.获取影片的大小和已载入影片的大小,方法是在Loading场景中新建一个图层,在图层中新建一个关键帧,在帧的脚本中输入以下代码:

totalBytes = _root.getBytesTotal();

loadedBytes = _root.getBytesLoaded();

    b.比较两者的大小,进行相应处理,代码如下:

if (loadedBytes<totalBytes) {

    //显示此场景

    gotoAndPlay("Start");

} else {

    //转到Chart场景

gotoAndPlay("Chart", "LoadXML");

}

IV.回到Chart场景,按下图八所示创建图层和帧。

图八

        现在不用担心上面都创建的是什么,后面会一一介绍;

            V.给图八中的Labels图层顺序创建如下关键帧:

Frame 1

LoadXML

后台实际装载XML数据的帧

Frame 2

LoadingXML

在装载数据时弹出消息的帧

Frame 3

ParseXML

分析数据并载入数组和变量中的帧

Frame 4

SetDefaults

决定显示那种格式的统计图形的帧

Frame 5

BarChart

显示柱状图的帧

Frame 6

LineChart

显示线性图的帧

Frame 7

PieChart

显示饼状图的帧

Frame 8

XMLError

显示错误消息的帧

 

待续(下)

http://www.csdn.net/Develop/read_article.asp?id=22592