Flash纯脚本生成饼图_Flash教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:Flash Action实现小球沿不规则的路径上移动
用了BitmapData.getPixel();来做的.原理:路径为一像素的纯色的不规则的曲线(如红色),用getPixel();记录曲线上的所有坐标.importflash.display.BitmapData;im

先发效果,效果有参考一下国外的饼图,不过他的代码,注释等我也看不懂,英文不懂,所以我就写个中文的好了。大家完全可以根据我的代码改出更多的效果来。
编程水平有限,大家谅解一下,不过能正常运行。
http://www.blueidea.com/articleimg/2007/03/4540/ok.swf

Flash纯脚本生成饼图


数据来源于xml配置文件,可以直接修改xml文件以达到直接使用的目的。默认数据来源为piedata.xml但是可以在页面中修改这个数据来源。如下:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="600" height="600">
<param name="movie" value="ok.swf?piedata=piedata.asp" />
<param name="quality" value="high" />
<embed src="ok.swf?piedata=piedata.asp" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="600"></embed>
</object>

在代码中swf文件名后加上参数?piedata=piedata.asp则可以修改数据来源为piedata.asp。

其实原理也不难,先画个圆(扇形)做上表面,然后分别画出两个侧面和一个曲面,最后画底下的圆(扇形)。一个立体的小扇形就出来了。让他们一起拼在一起就成了饼图嘛。只有一点比较烦就是确定每一个扇形的深度,好让他们在视学上看起来处于正常的前后关系位置。在这儿,我想了一个法子。
先算出当前扇形的中间度数,看这个度数是否在水平线以下,是的话就看这个度数与垂直方向的角度,角度最小的在最前面,最大的在最后面,假如中间度数在水平线以上,那么则与中间度数在水平线以下的相反。这儿要注重的是必须要从正上方作为0度,开始计算。

下面是源文件,所有代码放到影片的时间轴上的一帧中就可以了。

代码拷贝框

[Ctrl A 全部选择 然后拷贝]

源文件打包下载点击这里下载源文件

分享:使用Flash实现Bump Mapping的效果
1.下面先来简单的介绍一下什么叫作BumpMapping。BumpMapping又叫做凹凸贴图,在现在的图形处理以及游戏当中非常流行(大家应该都玩过Halflife-2或者Doom吧

/所属分类:Flash教程/更新时间:2008-03-05
相关Flash教程