使用动作脚本如何使用动作脚本如何画一个半圆画一个半圆

问题描述:

...我需要添加THA半圆另一个圈子的圈子看起来像这样 ![替代文本] [1]使用动作脚本如何使用动作脚本如何画一个半圆画一个半圆

如何在该圆圈内绘制一个半圆

+0

不要以为像真的帮助了解释你的问题。没有它就有意义。 – 2010-07-27 20:20:08

使用以下函数绘制所需的圆弧。

function drawArc(centerX, centerY, radius, startAngle, arcAngle, steps){ 
     startAngle -= .25; 
     var twoPI = 2 * Math.PI; 
     var angleStep = arcAngle/steps; 
     var xx = centerX + Math.cos(startAngle * twoPI) * radius; 
     var yy = centerY + Math.sin(startAngle * twoPI) * radius; 
     moveTo(xx, yy); 
     for(var i=1; i<=steps; i++){ 
      var angle = startAngle + i * angleStep; 
      xx = centerX + Math.cos(angle * twoPI) * radius; 
      yy = centerY + Math.sin(angle * twoPI) * radius; 
      lineTo(xx, yy); 
     } 
    } 
    lineStyle(0, 0xFF0000); 
    drawArc(250, 250, 200, 45/360, -90/360, 20); 

半圆?那么它加入终点不是它。使用lineto。

非常感谢你loxxy ..我做了一些改动,也得到了虚线。

功能drawArc(的centerX,centerY,半径,由startAngle,arcAngle,步骤){

  centerY=centerY+radius 
    startAngle -= .25; 
    var twoPI = 2 * Math.PI; 
    var angleStep = arcAngle/steps; 
      trace(angleStep) 
    var xx = centerX + Math.cos(startAngle * twoPI) * radius; 
    var yy = centerY + Math.sin(startAngle * twoPI) * radius; 
    mc.graphics.moveTo(xx, yy); 
    for(var i=1; i<=steps; i++){ 
     var angle = startAngle + i * angleStep; 
     xx = centerX + Math.cos(angle * twoPI) * radius; 
     yy = centerY + Math.sin(angle * twoPI) * radius; 
     if(i%2==0){ 
       mc.graphics.moveTo(xx, yy); 
     }else{ 
     mc.graphics.lineTo(xx, yy); 
     } 
    } 
}