麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Flash > 正文

flash純動態生成餅圖第1/2頁

2024-09-12 17:50:42
字體:
來源:轉載
供稿:網友
先發效果,效果有參考一下國外的餅圖,不過他的代碼,注釋等我也看不懂,英文不懂,所以我就寫個中文的好了。大家完全可以根據我的代碼改出更多的效果來。
編程水平有限,大家諒解一下,不過能正常運行。
http://www.yes028.com/amu/ok.swf
增加了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。
代碼一次發不下,下面回貼再發。
復制代碼 代碼如下:

//縮放舞臺并不縮放內容,將內容定位于舞臺的左上角;
Stage.align  = "TL";
Stage.scaleMode = "noScale";
_quality = "BEST";


import mx.transitions.Tween;
import mx.transitions.easing.*;


//全局
//所有數據
var pie_num:String = "20,15,8,50,55,100,100,190";
//所有數據名稱
var pie_name:String = "四川,重慶,云南,貴州,山西,湖南,上海,北京,廣州";
//是否顯示數據名稱與百分比值
var show_name:String = "true,false,false,true,false,true,true,true"
//所有顏色
var colorstr:String = "0xFF0F00,0xFF6600,0xFF9E01,0xFCD202,0xF8FF01,0xB0DE09,0x04D215,0x0D8ECF,0xFF1F11";
//所有開始位置
var defaultsate:String = "false,false,false,false,false,false,false,true";
//公共變量
x0 = 210;//圓點坐標x(數字)
y0 = 135;//圓點坐標y(數字)
z = 150;//圓長軸(>0)
d = 90;//圓短軸(>0)
w = 150;//環寬(>0,<長軸)
h = 20;//餅高(>=0)
movew = 15;//移動距離(>0)
alpha = 100;//點擊之后的透明度(0-100)
mcalpha = 100;//默認所有開始透明度(0-100)
showorder = true;//是否顯示豎向排列表(true,false)
orderx = 400;//豎向排列表起始x(數字)
ordery = 70;//豎向排列表起始y(數字)
orderxy = 6;//豎向排列表豎向間隔(>0)
linecolor = 0xcccccc;//指示線顏色(十六進制顏色)
linealpha = 100;//指示線透明度(0-100)
titleline = 20; //指示線長度(>0 || 0<)
fontcolor = 0xFF0000;//文字顏色(十六進制顏色)
percentshow = "font";//是否顯示百分值四個值(font文字,num百分值,all都顯示,none不顯)
orderfontcolor = 0x222222;//左邊豎向排列文字顏色(十六進制顏色)
dark = 1.43;//深色系數(>1如1.43默認)

//以下為三個餅圖示例
//第一個參數為影片名,第二個為深度群

drawpie("amu",1,
        pie_num,pie_name,titleline,linecolor,linealpha,orderfontcolor,percentshow,fontcolor,colorstr,defaultsate,show_name,
        x0,y0,z,d,w,h,movew,alpha,mcalpha,dark,
        showorder,orderx,ordery,orderxy);

drawpie("vapr",2,
        "15,30,60,90","<b>好</b>,不好,一般,差,太差了",0,0xcccccc,0,0x000000,"all",0x666666,"0x0D8ECF,0x04D215,0xB0DE09,0xF8FF01,0xFF9E01,0xFF6600,0xFF1F11","true,true,false,false","true,true,true,false",
        160,380,70,70,50,2,15,100,100,1.5,
        true,20,340,13);
drawpie("kiss",3,
        "30,50,290,70,50,10","Flash,Html,Javascript,Asp,PHP,C#",10,0x999999,100,0x000000,"none",0xff6600,"0x0D8ECF,0x04D215,0xB0DE09,0xF8FF01,0xFF9E01,0xFF6600,0xFF1F11","false,false,false,false,false,false,false","false,false,false,false,false,false,false",
        470,300,100,60,60,20,15,50,100,1.15,
        false,280,250,28);
drawpie("kisss",4,
        "242,332,171,116,106,224","Flash,Html,Javascript,Asp,PHP,C#",10,0x999999,100,0x000000,"all",0xff6600,"0x0D8ECF,0x04D215,0xB0DE09,0xF8FF01,0xFF9E01,0xFF6600,0xFF1F11","false,false,false,false,false,false,false","true,true,true,true,true,true,true",
        370,520,60,40,40,10,15,50,100,1.15,
        true,515,480,3);


function drawpie(mcname:String, depth:Number, 
                 pie_num:String, pie_name:String, titleline:Number, linecolor:Number,linealpha:Number, orderfontcolor:Number,percentshow:String, fontcolor:Number, colorstr:String, defaultsate:String, show_name:String, 
                 x0:Number, y0:Number, z:Number, d:Number, w:Number, h:Number, movew:Number, alpha:Number, mcalpha:Number, dark:Number,
                 showorder:Boolean, orderx:Number, ordery:Number, orderxy:Number):Void{
arr_n = pie_num.split(",");
arr_total=0;
for(m=0;m<arr_n.length;m++){
    arr_total+=Number(arr_n[m]);
}

var arr_name = new Array();
arr_name = pie_name.split(",");

var arr_showname = new Array();
arr_showname = show_name.split(",");

var arr_num = new Array();
var arr_percent = new Array();
duof = 0;
for(m=0;m<arr_n.length;m++){
    if(m==arr_n.length-1){
        duo = 360-duof;
        arr_num[m]= duo.toString(); 
    }else{
        duo = Math.round((Number(arr_n[m])*360)/arr_total);
        duof = duof+duo;
        arr_num[m]= duo.toString(); 
    }
    arr_percent[m] = Math.round((Number(arr_n[m])*100)/arr_total*100)/100;
}

//分割數據
var arr_color = colorstr.split(",");
var arr_defaultstate = defaultsate.split(",");

//所有扇環的中間度
var arr_middle:Array = new Array();
//生成所有的扇環的中間度,用來確定深度
var xx:Number=-90;
var arr_a:Array = new Array();//記錄每一扇環的開始度與結束度
for(m=0; m<arr_num.length;m++){        
    a0=xx;
    a=Number(a0)+Number(arr_num[m]);

    arr_a.push([a0,a]);    
    xx=a;
    if(a-a0>180){
        arr_middle[m] = 0.001;
    }else{
        if((a-a0)/2+a0<=180 && (a-a0)/2+a0>=0){
            //本mc的中間角度與90度的差值(這兒我們確定誰與90度差值的絕對值最小就排在最前面)
            arr_middle[m] = Math.abs(90-((a-a0)/2+a0));
        }else if((a-a0)/2+a0>180 && (a-a0)/2+a0<=270){
            arr_middle[m] = (Math.abs((a-a0)/2+a0-180)+500);
            //本mc的中間角度與180度的差值(這兒我們確定誰與90度差值的絕對值最大就排在最前面)
        }else if((a-a0)/2+a0>=-90 && (a-a0)/2+a0<0){
            arr_middle[m] = (Math.abs((a-a0)/2+a0-360)+500);
            //本mc的中間角度與270度的差值(這兒我們確定誰與90度差值的絕對值最大就排在最前面)
        }
    }
    //trace(m+":"+arr_middle[m]);
}
//trace(arr_a[0][0]);
//扇環排序
arr_middle = arr_middle.sort(Array.NUMERIC|Array.RETURNINDEXEDARRAY);//重排序,讓原來的數組值從小到大排列,但數組的索引不變。
//arr_middle.reverse();
//
for(m = 0; m<arr_middle.length; m++){
    //繪出豎向方塊鏈接------------------------------------------------------------------------
    if(showorder){
    _root.createEmptyMovieClip(mcname+arr_middle[m]+"icon_mc",(5-m)*22+depth*10+1);

    mc = this[mcname+arr_middle[m]+"icon_mc"];
    color = parseInt(arr_color[arr_middle[m]]);
    beginx = orderx;
    beginy = ordery;
    jianxy = orderxy+12;

    mc.beginFill(color, 100);
    mc.lineStyle(1, darkcolor(color,dark), 100, true, "none");
    mc.moveTo(beginx,arr_middle[m]*jianxy+beginy);
    mc.lineTo(beginx+12,arr_middle[m]*jianxy+beginy);
    mc.lineTo(beginx+12,arr_middle[m]*jianxy+beginy+12);
    mc.lineTo(beginx,arr_middle[m]*jianxy+beginy+12);
    mc.endFill();

    var label:TextField = mc.createTextField("label", 1, beginx+16, arr_middle[m]*jianxy+beginy-3, 0, 0);
    label.html = true;
    label.autoSize = "left";
    label.htmlText = arr_name[arr_middle[m]];

    var myformat:TextFormat = new TextFormat();
    myformat.font = "Verdana";
    myformat.size = 12;
    myformat.color = orderfontcolor;
    label.setTextFormat(myformat);
    }
    //---------------------------------------------------------------------

    _root.createEmptyMovieClip(mcname+arr_middle[m]+"_mc",(5-m)*22+depth*10);
    //當前m應算為arr_middle[m];
    drawCircle(this[mcname+arr_middle[m]+"_mc"], 
                x0, y0, z, d, arr_a[arr_middle[m]][0], arr_a[arr_middle[m]][1], h, w, parseInt(arr_color[arr_middle[m]]),
                movew,alpha,mcalpha,arr_defaultstate[arr_middle[m]],
                arr_percent[arr_middle[m]],arr_name[arr_middle[m]],arr_showname[arr_middle[m]],
                titleline,linecolor,linealpha,fontcolor,percentshow,dark,
                this[mcname+arr_middle[m]+"icon_mc"]);
    this[mcname+arr_middle[m]+"_mc"]._alpha=mcalpha;    

    //---------------------------------------------------------------------
    //讓點擊豎向排列時的效果和點擊pie時一樣。
    if(showorder){
    mc.onRelease = this[mcname+arr_middle[m]+"_mc"].onRelease;
    }
}
}

12下一頁閱讀全文
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 538在线精品 | 杏美月av| 91精品国产91久久久久久不卞 | 日本在线播放一区二区三区 | 日韩黄色片网站 | 欧美不卡三区 | 青青草在线免费观看 | 日韩大片在线永久观看视频网站免费 | 深夜免费观看视频 | 久久久成人精品视频 | 手机国产乱子伦精品视频 | 最近免费观看高清韩国日本大全 | 久久精品久久精品国产大片 | 精品久久久久久久 | 亚洲综合无码一区二区 | 精品成人在线 | 免费看一级毛片欧美 | 久久影院在线观看 | 精品国产一区二区三区久久久蜜 | 成人免费一区二区三区在线观看 | 精品亚洲午夜久久久久91 | 久久久成人精品视频 | 中文日韩在线视频 | 羞羞答答www网站进入 | 免费黄色短视频网站 | 日韩毛片免费观看 | 久久老司机精品视频 | 日本羞羞的午夜电视剧 | 欧美日韩精品一区二区三区蜜桃 | 精品国产乱码久久久久久丨区2区 | 日韩黄色免费电影 | 色淫影院 | 久久免费视频精品 | 久草视频福利在线观看 | 一级黄色在线免费观看 | 久久久久免费精品国产小说色大师 | 久久久久久久久日本理论电影 | 日韩在线激情 | 久久久久久久久久久久久久av | 久久久精品视频免费 | 国产韩国精品一区二区三区久久 |