`
bal1212
  • 浏览: 77676 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AS3 画扇形函数。

阅读更多

下面示例中的
DrawSector(moviec,200,200,100,S_angle,270,0xffcc00);
函数就是画扇形的函数,
moviec是扇形所在影片剪辑的名字
第2,3个参数是扇形原点的横纵坐标
第4个参数是扇形的半径
第5个参数S_angle是扇形的角度
第6个参数是扇形的起始角度
第7个参数0xffcc00是扇形的颜色

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->/*
*Create by Geordi 14th Feb 2008
*function DrawSector is drawing a sector in the flash by actionscript 3 
*/
import flash.display.MovieClip;
import flash.display.Sprite;
var stag:Sprite=new Sprite();
addChild(stag);
var moviec:MovieClip=new MovieClip;
stag.addChild(moviec);
var S_angle:int=60;
/* S_angle is expressed as a number between 0 and 360 degrees. it will draw a 60 
* degree sector in this example, but you could change it to what ever you want 
*/
DrawSector(moviec,
200,200,100,S_angle,270,0xffcc00);
/*
* mc the movieclip: the container of the sector.
* x,y the center position of the sector
* r the radius of the sector
* angle the angle of the sector
* startFrom the start degree counting point : 270 top, 180 left, 0 right, 90 bottom , 
* it is counting from top in this example. 
* color the fil lin color of the sector
*/
function DrawSector(mc:MovieClip,x:Number=200,y:Number=200,r:Number=100,angle:Number=27,startFrom:Number=270,color:Number=0xff0000):void {
    mc.graphics.beginFill(color,
50);
    
//remove this line to unfill the sector
    /* the border of the secetor with color 0xff0000 (red) , you could replace it with any color 
    * you want like 0x00ff00(green) or 0x0000ff (blue).
    
*/
    mc.graphics.lineStyle(
0,0xff0000);
    mc.graphics.moveTo(x,y);
    angle
=(Math.abs(angle)>360)?360:angle;
    
var n:Number=Math.ceil(Math.abs(angle)/45);
    var angleA:Number=angle/n;
    angleA=angleA*Math.PI/180;
    startFrom=startFrom*Math.PI/180;
    mc.graphics.lineTo(x+r*Math.cos(startFrom),y+r*Math.sin(startFrom));
    
for (var i=1; i<=n; i++) {
        startFrom
+=angleA;
        
var angleMid=startFrom-angleA/2;
        var bx=x+r/Math.cos(angleA/2)*Math.cos(angleMid);
        
var by=y+r/Math.cos(angleA/2)*Math.sin(angleMid);
        
var cx=x+r*Math.cos(startFrom);
        
var cy=y+r*Math.sin(startFrom);
        mc.graphics.curveTo(bx,by,cx,cy);
    }
    
if (angle!=360) {
        mc.graphics.lineTo(x,y);
    }
    mc.graphics.endFill();
// if you want a sector without filling color , please remove this line.
}
分享到:
评论

相关推荐

    VB Circle方法画弧和扇形

    Circle (x As Integer, y As Integer, Radius As Integer, [StartAngle As Integer], [EndAngle As Integer], [Fill As Boolean]) ``` 参数说明如下: 1. `x` 和 `y`:表示圆心的坐标,它们都是整数,决定了圆的...

    利用flex画一个扇形区域

    `Sprite`是AS3中的一个轻量级容器,允许我们在舞台上自由绘制图形。在给定的代码段中,创建了一个新的`Sprite`实例`sector`,它将用于绘制扇形区域。 绘制扇形区域的核心函数是`drawSector`。这个函数接收多个参数...

    AS3制作连锁螺线源代码

    在AS3中,我们首先需要设置一个坐标系统,然后利用Math类中的sin()和cos()函数来计算极坐标下的x和y坐标。我们可以用一个循环来遍历不同的φ值,通过迭代生成一系列的点,最终连接这些点形成连续的曲线。 渐进点是...

    蚂蚁线 扇形

    而"SectorDemo.as"则可能是扇形类的一个示例或者测试程序,展示如何使用这个扇形类来创建和展示扇形图,包括可能的蚂蚁线效果。 在ActionScript中,扇形的绘制可能涉及到`drawArc()`方法,用于在指定的路径上绘制...

    排列成扇形前后翻转的flash图片展示.rar

    在Flash中,可以使用`transform.matrix`属性和`rotateBy()`或`rotateTo()`函数来实现3D旋转效果。通过精心计算角度和时间,可以使得图片以扇形的方式排列,并且在点击时流畅地翻转。 此外,这个项目可以被用作Flash...

    Python使用matplotlib的pie函数绘制饼状图功能示例

    3. 使用`pie()`函数绘制饼图,并传入相应参数。 4. 可以使用`plt.show()`显示图形。 以下是一个简单的示例代码,展示了如何使用`pie()`函数: ```python import matplotlib.pyplot as plt import numpy as np # ...

    利用VB画饼状比例图

    Dim radius As Integer = Math.Min(PictureBox1.Width, PictureBox1.Height) / 3 ' 绘制扇形 Dim startAngle As Double = 0 For i As Integer = 0 To values.Length - 1 g.DrawArc(New Pen(Color.FromName("颜色名...

    八年级上学期中模拟试卷【新课标人教版】.doc

    7. 函数的表示:式子`2x - 3y = 4`可以转换为`y = (2/3)x - 4/3`,这样`y`就是`x`的函数,其中`x`是自变量,`y`是`x`的函数。 8. 统计图的选择:当要展示数据逐年下降的趋势时,最合适的统计图是折线图,因为它能够...

    福建福州教育教学质量监控体系的研究课题八年级上期中测试试卷2精选.doc

    3. **统计图的类型及其特性**:条形图、扇形图、折线图和直方图都是常见的统计图,其中折线图能很好地展示数据的变化趋势。 4. **一次函数的性质**:函数y = -3x是关于x的一次函数,其性质包括斜率为负,随x的增大y...

    精彩编程与编程技巧-VB中实现“擦视”技术...

    Sub Wipe(iMode As Integer, WipeStrDestine As String, WipeStrResource As String, frmHide As Form, frmShow As Form) WipeMode = iMode strDestine = WipeStrDestine strResource = WipeStrResource Set ...

    matlab开发-风玫瑰糖

    `polar(theta, r)`命令会在极坐标系中画出扇形,其中`theta`是角度数组,代表风向;`r`是对应的风速或频率数组。 4. **添加细节**:为了使图形更具解读性,我们可能还需要添加刻度、图例、标题以及轴标签等元素。...

    891160693980678import math 2023-10-9 143749 1.docx

    - `myarc(t1, r, angle)`:此函数用于绘制指定半径`r`和角度`angle`的扇形(或部分圆)。它首先计算出扇形的弧长`arc_length`,然后通过将弧长均分为多个线段来绘制扇形。 - `polyline(t1, n, length, angle)`:这...

    八年级数学第一学期第一次月考试题【新课标人教版】.doc

    根据定义,y=πx, y=3-2x, y=x^2-2 中,只有 y=3-2x 符合一次函数的特征。 2. **函数自变量的取值范围**: 函数 y= 的自变量 x 的取值范围是题目2的考点。通常,自变量的取值范围取决于函数表达式中可能存在的限制...

    2007年秋季八年级数学上学期期中考试试题.doc

    19. 扇形统计图的制作:需根据各兴趣小组的人数比例,计算出对应的百分比,然后根据百分比画出扇形图。 20. 直线的坐标与解析式:首先需要根据点A、B的坐标求出直线的斜率和截距,然后写出直线的解析式。 21. 一次...

    基于python幸运大转盘

    可以使用arc方法画出扇形,每个扇形代表一个奖品或区域。颜色、大小和角度可以根据实际需求调整。同时,还需要一个指针来指示当前选中的奖品。 4. **随机选择**:使用random库的randint或choice函数来决定转盘停止...

    人教版八年级数学第一学期第一次月考试题.doc

    6. **一次函数图象的位置**:一次函数 y = (m-2)x + 3 - m 的图象不经过第四象限,意味着斜率 m-2 必须大于0且截距 3 - m 不小于0,从而得出 m 的取值范围是 2≤3。 7. **直方图的频率计算**:直方图中,某一小组的...

    江苏省阜宁县2014-2015学年八年级数学上学期期末考试试题 苏科版

    14. **两个函数交点与不等式的解**:利用点A(m,3)同时在两个函数图像上,求解不等式4x^2+kxy的解集。 15. **勾股定理与相似三角形**:在直角三角形中应用勾股定理,以及在Rt△ABC中利用相似三角形的性质求解线段...

    晋宁二中07-08学年八年级上期中考试.doc

    3. **函数图像**:第3题要求判断哪些图中的y不是x的函数。函数的定义是一对一的关系,每个x值对应唯一一个y值。A、B、C选项都符合函数的定义,而D选项中,对于某些x值,有两个对应的y值,因此D不是函数。 4. **扇形...

    江阳西路学校初三年级诊断性考试数学试题(三)精选.doc

    3. 函数定义与自变量取值范围:函数中自变量x的取值范围是由函数表达式决定的,例如题目中的x的取值范围是x ≠ 0且x ≥2。 4. 同类二次根式:同类二次根式是指根指数相同,被开方数相同的根式。题目中与同类的是。 ...

    人教版八年级数学第一学期第一次月考试题(通用).doc

    3. **点与函数关系**:问题3考查了点是否在特定函数图象上的知识,需要通过代入点的坐标检验函数关系是否成立。 4. **数据可视化**:问题4讨论了哪种图表最适合展示数据的比例,扇形图用于表示各部分占总体的比例,...

Global site tag (gtag.js) - Google Analytics