`

AS3 画扇形

阅读更多

软件编程牛人网

效果:

package
{
 import flash.display.MovieClip;
 import flash.display.Sprite;
 import flash.events.Event;

 public class TestDraw extends Sprite
 {
  public function TestDraw()
  {
   var stag:Sprite=new Sprite();
   addChild(stag);
   var moviec:MovieClip=new MovieClip;
   stag.addChild(moviec);
   var S_angle:int=1;
   this.addEventListener(Event.ENTER_FRAME, function(event:Event):void
   {
    if (S_angle == 361)
    {
     return;
    }
    draw(moviec, 200, 200, 100, S_angle, 270, 0xffcc00);
    S_angle++;

   });


  }

  //
  private function draw(mc:MovieClip, x:Number=200, y:Number=200, r:Number=100, angle:Number=27, startFrom:Number=270, color:Number=0xff0000):void
  {
     mc.graphics.beginFill(0xffffff);
   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();
  }
 }
}
源码:http://www.66ncdgw.com/upload/TestDraw.rar

分享到:
评论

相关推荐

    VB Circle方法画弧和扇形

    画扇形的步骤与画弧类似,只需在`Fill`参数为`True`的情况下调用`Circle`方法。以下代码将绘制一个90度的扇形: ```vb Form1.Canvas.Circle(100, 100, 50, 0, 90, True) ``` 除了基本的`Circle`方法,你还可以结合...

    利用flex画一个扇形区域

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

    AS3.0 饼图 图表

    3. 可以添加阴影效果,通过在每个扇形后面绘制一个较小的黑色扇形,来增强3D感觉。 **交互性**: 1. 为饼图添加鼠标事件监听器,如`MOUSE_DOWN`和`MOUSE_UP`,以便用户可以点击并拖动来旋转饼图。 2. 实现旋转逻辑...

    AS3粒子系统

    AS3粒子系统是一种基于ActionScript 3(AS3)编程语言的高级图形技术,用于创建动态的、视觉吸引人的效果,如火焰、烟雾、下雪等自然现象,以及各种抽象的视觉特效。这个粒子系统提供了强大的功能,使得开发者能够...

    Flex 扇形Loading

    3. **扇形图形绘制**:扇形的形状是通过计算角度和弧度来绘制的。在ActionScript中,可以使用Graphics类的`drawArc()`方法来绘制弧线,结合`beginPath()`和`endFill()`方法完成扇形填充。扇形的进度可以通过改变弧度...

    AS3制作连锁螺线源代码

    在AS3(ActionScript 3)编程中,我们可以利用数学公式和图形渲染技术来实现这种曲线的绘制。AS3是Adobe Flash平台的核心语言,常用于创建交互式动画和应用程序。 该"AS3制作连锁螺线源代码"项目的核心在于理解连锁...

    蚂蚁线 扇形

    这篇未提供具体内容的博文链接指向了iteye博客的一个条目,我们可以根据标签“源码”和“工具”来推测,博主可能分享了一个使用ActionScript 3(AS3)实现的与蚂蚁线渲染和扇形图形相关的代码示例。ActionScript 3是...

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

    如果是AS文件(ActionScript文件),则其中包含了独立的脚本代码,这部分代码可能控制了图片翻转和交互逻辑。 总结来说,"排列成扇形前后翻转的flash图片展示"是一个利用Flash ActionScript实现的动态图片展示项目...

    利用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("颜色名...

    flash统计图- flash柱形图- flash圆饼图- flash折线图 多款flash统计图动画

    3. 圆饼图:圆饼图通过扇形的大小来表示数据比例,适用于显示整体与部分之间的关系。在Flash中,圆饼图可以添加动画效果,如旋转、渐变色等,使得数据解读更为生动有趣。 4. 折线图:折线图以折线连接数据点,展示...

    iOS 为移动动画中的View添加touch事件

    if let hitLayer = layer.hitTest(layerPoint) as? AnimatedViewLayer { return hitLayer.view } return super.hitTest(point, with: event) } ``` 这里假设我们还自定义了一个`AnimatedViewLayer`来继承`...

    SVG自定义地图 自定义点点击触发事件

    Drawable drawable = svg.asDrawable(); mapImageView.setImageDrawable(drawable); ``` 接下来,为了在SVG地图上添加可点击的点,我们需要在SVG元素上绑定点击事件。这通常通过遍历SVG的图形元素并添加点击监听器...

    VB2010绘制饼状图

    - 计算每个扇形区域的起点角度(从3点钟方向开始,顺时针计算)。 - 使用Arc方法绘制每个扇形区域。Arc方法接受圆心坐标、半径、起始角度和结束角度作为参数。 - 为了添加标签,可以在每个扇形外侧绘制文本,使用...

    vb画图文档资料

    Dim points(3) As Point points(0) = New Point(10, 10) points(1) = New Point(100, 10) points(2) = New Point(100, 100) points(3) = New Point(10, 100) g.DrawPolygon(myPen, points) ``` 4. `...

    Flash饼状图工具.rar

    6. **事件监听**:如果需要响应用户对饼状图的操作,如点击扇形,可以使用`ExternalInterface.call()`在AS3中触发JavaScript事件。 五、优化与拓展 1. **交互性**:增加鼠标悬停显示数据信息、点击高亮扇形等功能...

    Flash纯脚本生成饼图

    Flash纯脚本生成饼图,其实原理也不难,先画个圆(扇形)做上表面,然后分别画出两个侧面和一个曲面,最后画底下的圆(扇形)。一个立体的小扇形就出来了。让他们一起拼在一起就成了饼图嘛。只有一点比较烦就是确定...

    vb.net 2008

    3. **定义绘制参数**: ```vb Dim x As Single = 30.0F Dim y As Single = 40.0F Dim width As Single = 300.0F Dim height As Single = 200.0F Dim startAngle As Single = 100.0F Dim sweepAngle As Single...

    精彩编程与编程技巧-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 ...

    基于python幸运大转盘

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

Global site tag (gtag.js) - Google Analytics