我们在做网站的时候,除了信息内容管理是头等必须的功能,跟着就是数据统计功能了。数据统计功能主要体现在数据展现上,一般我们都会用图形和具体数据共同展现实际的效果,这样既直接,而且对使用者来说还很贴心。
我们现在尝试用FLASH来实现数据展现这一功能。
效果如下
首先,我们新建一个FLASH文件。
然后,在主场景第一帧上放四个实例名称分别是mc0、mc1、mc2、mc3的 电影实例,分别代表4个不同栏目的数据柱状图。当然,在真正的应用上,这里肯定不能就这样建立栏目柱状图的,必须按实际情况动态加载 电影实例 。
最后,在主场景第一帧上添加以下ACTIONSCRIPT:
System.useCodepage = true;//除乱码
var xl = new LoadVars();//创建 LoadVars 对象的实例
xl.load("xl.txt");//引导外部文本中的变量
xl.onLoad = function(suc) {
if (suc) {
nums = [xl.num0, xl.num1, xl.num2, xl.num3];//外部文本中的变量存入数组中
}
};
for (var i = 0; i<=3; i++) {
_root["mc"+i]._yscale = 10;//初始缩放比例
_root["mx"+i] = _root["mc"+i]._x;//存贮初始坐标值
_root["my"+i] = _root["mc"+i]._yscale;//存贮初始缩放值
}
this.onEnterFrame = function() {
for (var i = 0; i<=3; i++) {
_root["mc"+i]._yscale = _root["my"+i]*nums[i];//显示缩放变化
_root.createEmptyMovieClip("mytxt"+i, i*2);//创建电影实例四个用于下句中绑定库中的动态文本
_root["mytxt"+i].attachMovie("txtmc", "txt"+i, 1000, {_x:_root["mx"+i], _y:(Math.round(Number(_root["mc"+i]._y-nums[i]*(0.3))))});//
_root["mytxt"+i]["txt"+i].t.text = nums[i];//显示动态数值
}
};
以上代码是通过读取一个外部TXT文件内的数据,经过演算后,展现到柱状图上。
外部xl.txt内容:
num0=480&num1=320&num2=500&num3=200&//柱状高度来源