基于ActionScript的Flash交互动画在统计功能中的应用
崔艳春 张晓莹 王天云
(南京信息职业技术学院 江苏南京 210046)
摘要:ActionScript语言是面向对象的脚本语言,在Flash中嵌入脚本语言编写的程序可以实现各种交互动画功能,本文以江苏省加强地方消耗臭氧层物质(ODS)淘汰能力建设项目信息系统为例,详细介绍基于ActionScrip的Flash交互动画在聚氨酯泡沫生产和施工企业汇总分析方面的应用。
关键字:ActionScript Flash ODS信息系统
中文分类号:TP311.1 文献标志码:A 文章编号:
1引言
在管理信息系统中经常需要对数据信息进行统计,以往的统计方式是采取数字形式,由于数据的形象化不突出,慢慢转变为使用图形形式反馈统计信息。近期,随着动漫技术的日新月异,交互式动画成为Flash动画的一个新型应用。本文将详细介绍如何在江苏省加强地方消耗臭氧层物质淘汰能力建设项目信息系统(以下称:ODS信息系统)中引入基于ActionScript的Flash交互动画,以此种动画形式体现ODS信息系统中的统计功能。
2 Flash简介
Flash是Macromedia公司的三大网页设计利器之一,它以流控制技术和矢量技术等为代表,制作出来的动画具有短小精悍的特点,网页设计者使用 Flash 创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。Flash被广泛用于网页动画的设计,成为当今最流行的软件之一。
3 ActionScript3.0简介
ActionScript是一种类似JavaScript和ECMA(European Computers Manufacturers Association)规范的面向对象的脚本语言[1],ActionScript是 Macromedia为其Flash产品开发的 ,最初是一种简单的脚本语言,现在最新版本3.0,是一种完全的面向对象的编程语言,功能强大,类库丰富,多用于Flash互动性、娱乐性、实用性开发,网页制作和RIA应用程序开发[2]。
Flash使用ActionScript给动画添加交互性。在简单动画中,Flash按顺序播放动画中的场景和帧,而在交互动画中,用户可以使用键盘或鼠标与动画交互。例如,可以单击动画中的按钮,然后跳转到动画的不同部分继续播放;可以移动动画中的对象;可以在表单中输入信息等等。使用ActionScript可以控制Flash动画中的对象,创建导航元素和交互元素,扩展Flash创作交互动画和网络应用的能力。
4 基于ActionScript的Flash交互动画在ODS信息系统的具体实现
4.1 ODS信息系统中的统计功能
在ODS信息系统中,有一项统计功能是“聚氨酯泡沫生产和施工企业调查汇总”,该功能有两种统计要求:一按行业统计,二按地区统计。具体见图1,图中给出泡沫行业在某年度的企业调查统计情况,行记录按照地区统计,列记录按照行业统计。4.2中主要介绍按行业统计的交互动画设计方法,按地区统计的设计方法雷同,不再赘述。
图1 聚氨酯泡沫生产和施工企业调查汇总(数字)
4.2 基于ActionScript的Flash交互动画设计
在本系统中,按行业统计结果使用可移动的饼图呈现,所以在设计过程中第一步使用ActionScript脚本语言画饼图,以drawpie函数实现。饼图中每个行业代表的扇形使用drawcircle函数实现。第二步设计交互式动画,需要使用事件完成,事件驱动使用EventDispatcher,dispatchQueue,initialize,addEventListener,removeEventListener等函数实现。第三步根据动画所需参数设计Flash配置文件XML文件,图2为按行业统计饼图的配置文件piedata.xml。图3为Flash动画文件加载piedata.xml文件的具体代码。
图2 按行业统计的XML文件
图3 Flash动画文件加载piedata.xml代码
在piedata.xml文件中,<pie_num></pie_num>中数据需要从ODS信息系统中获取行业统计数据,这时需要使用修改xml文件的方法,具体操作代码如下:
public void busitypeanalyse(string year)
{
…
string eps = ds.Tables["analyse"].Rows[0][1].ToString();
string xps = ds.Tables["analyse"].Rows[0][2].ToString();
string plates = ds.Tables["analyse"].Rows[0][5].ToString();
string pipe = ds.Tables["analyse"].Rows[0][4].ToString();
string elec = ds.Tables["analyse"].Rows[0][8].ToString();
string frige = ds.Tables["analyse"].Rows[0][6].ToString();
string soft = ds.Tables["analyse"].Rows[0][7].ToString();
string sun = ds.Tables["analyse"].Rows[0][3].ToString();
string pienum =sun+","+ xps + "," + eps + "," + plates + "," + pipe + "," + elec + "," + soft + "," + frige ;
if(pienum!="0,0,0,0,0,0,0,0")
{
string xpath = Server.MapPath("flashpiebusi\\piedata.xml");
XmlDocument xdoc = new XmlDocument();
xdoc.Load(xpath);
XmlNodeList nl1 = xdoc.DocumentElement.ChildNodes;
for (int j = 0; j < nl1.Count; j++)
{
XmlNodeList nl2 = nl1[j].ChildNodes;
for (int k = 0; k < nl2.Count; k++)
{
if (nl2[k].LocalName == "pie_num")
nl2[k].FirstChild.Value = pienum;
}
}
xdoc.Save(xpath);
…
}
}
通过以上设计,ODS信息系统中按行业统计的Flash交互动画如图4所示,当鼠标单击某一行业,该行业所属的扇形将移动一定距离,突出显示统计结果。
图4 按行业统计饼图示意图
5 结束语
本文简单介绍了Flash概念、ActionScript3.0的使用范围与特点,系统详细阐述了在ODS信息系统中使用ActionScript设计Flash交互动画的工作流程,并得以实现的全部过程。相信随着ActionScript3.0的不断发展,采用ActionScript3.0技术的Flash交互动画会给信息系统中数据的呈现方式带来更多的解决方案。
参考文献
[1]章精设.Flash ActionSeript 3.0从入门到精通[M].北京:清华大学出版社,2008
[2]王剑.ActionScript在Flash中制作交互动画的高级应用.科技创新导报,2008(25)
[3]胡奇光,吴荣晖.基于Flash ActionScript 3.0的动画设计的研究.计算机与数字工程,2010,38(7)
[4]陈钰华,尹晶海.基于ActionScript的互动式多媒体课件开发.科技广场,2013(2)
[5]http://baike.baidu.com