WEB开发网
开发学院图形图像Flash flash 绘图API:太极 阅读

flash 绘图API:太极

 2010-03-02 00:00:00 来源:WEB开发网   
核心提示: 查看原图(大图)里面参数有分别图形对象,开始角,flash 绘图API:太极(2),结束的角度,半径,关键一点是对颜色处理,这样才能实现太极图案,颜色填充值,这样就基本能够实现到我们预想到效果

flash 绘图API:太极

查看原图(大图)

里面参数有分别图形对象,开始角,结束的角度,半径,颜色填充值。这样就基本能够实现到我们预想到效果。

这种通过描点的方式来实现扇形效果。

实现完成之后,我们继续按下面的图案来描写圆,一共是5个圆,最大的圆是由两个扇形完成,其他即通过绘图api drawCircl 填充。

填充颜色的时候,关键一点是对颜色处理,这样才能实现太极图案。

flash 绘图API:太极

查看原图(大图)

太极图行类:

按上面的思路图进行绘制。

   1. package   
   2. {  
   3.     //绘制太极  
   4.     import flash.display.Sprite;  
   5.     import flash.events.*;  
   6.     import flash.display.Graphics;  
   7.     import flash.geom.Point;  
   8.        
   9.     public class TaiJi extends Sprite  
  10.     {  
  11.         private var shape:Sprite=new Sprite();  
  12.         private var contain:Sprite=new Sprite();  
  13.         private var shape2:Sprite=new Sprite();  
  14.         private var shape3:Sprite=new Sprite();  
  15.         private var R:int;//半径  
  16.         private var startX:Number=0;  
  17.         private var startY:Number=0;  
  18.         public function TaiJi(R:int)  
  19.         {  
  20.             this.R=R;         
  21.             addChild(shape);  
  22.             shape.x=startX;  
  23.             shape.y=startY;  
  24.             addChild(shape2);  
  25.             addChild(shape3);  
  26.             creatSprite();  
  27.         }  
  28.         private function creatSprite():void  
  29.         {  
  30.             pie(shape.graphics,90,270,R,0x000000);////绘制扇形左边  
  31.             pie(shape.graphics,270,450,R,0xffffff);//绘制扇形右边  
  32.   
  33.             shape2.graphics.beginFill(0xffffff);//绘制下圆  
  34.             shape2.graphics.drawCircle(startX,startY+R/2,R/2);  
  35.             shape2.graphics.endFill();  
  36.               
  37.             shape2.graphics.beginFill(0x000000);//绘制上圆  
  38.             shape2.graphics.drawCircle(startX,startY-R/2,R/2);  
  39.             shape2.graphics.endFill();  
  40.   
  41.             shape3.graphics.beginFill(0xffffff);  
  42.             shape3.graphics.drawCircle(startX,startY-R/2,R/4);  
  43.             shape3.graphics.endFill();  
  44.   
  45.             shape3.graphics.beginFill(0x000000);  
  46.             shape3.graphics.drawCircle(startX,startY+R/2,R/4);  
  47.             shape3.graphics.endFill();  
  48.   
  49.   
  50.         }  
  51.         //绘制扇形  
  52.         private function pie(g:Graphics,startAngle:Number,endAngle:Number,radius:Number,color:uint):void  
  53.         {  
  54.             g.lineStyle(1);  
  55.             g.moveTo(0,0);  
  56.             g.beginFill(color);  
  57.             for (var i:Number=startAngle; i<=endAngle; i++)  
  58.             {  
  59.                 var angle:Number = i*Math.PI/180;  
  60.                 var pointX:Number=Math.cos(angle)*radius;  
  61.                 var pointY:Number=Math.sin(angle)*radius;  
  62.                 g.lineTo(pointX, pointY);  
  63.             }  
  64.             g.lineTo(0,0);  
  65.             g.endFill();  
  66.         }  
  67.     }  
  68. }  

Tags:flash 绘图 API

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接