如何使用动作脚本 2 绘制具有“动态角度”的“圆”?

Posted

技术标签:

【中文标题】如何使用动作脚本 2 绘制具有“动态角度”的“圆”?【英文标题】:how to draw a 'circle' with 'dynamic angle' using action script 2? 【发布时间】:2013-05-08 23:07:40 【问题描述】:

我想要一个圆圈(可能是一个电影剪辑)来显示一个像这张图片一样变化的计时器:

而且我还需要在运行时访问它的角度。例如:

function setAngle(degree:Number)

有什么建议吗?

【问题讨论】:

【参考方案1】:

试试这个:

var circle:Number = Math.PI * 2;
var degree:Number = Math.PI / 180;

var radius:Number = 30;
var shape:MovieClip = _root.createEmptyMovieClip("shape", _root.getNextHighestDepth());

shape._x = 100;
shape._y = 100;
shape._rotation = -90;


function render(chunkAngle:Number):Void

    chunkAngle *= degree;

    shape.clear();
    shape.lineStyle(1);
    shape.beginFill(0x6BB0FF);

    shape.lineTo(radius, 0);

    for(var i:Number = circle; i > chunkAngle; i -= degree)
    
        shape.lineTo(Math.cos(i) * radius, Math.sin(i) * radius);
    

    shape.lineTo(0, 0);
    shape.endFill();



render(45);

【讨论】:

【参考方案2】:

你可以有一个有足够帧的影片剪辑来覆盖角度,并在你的 setAngle 中使用 gotoAndStop。不漂亮,虽然我不确定你还能如何处理。

【讨论】:

以上是关于如何使用动作脚本 2 绘制具有“动态角度”的“圆”?的主要内容,如果未能解决你的问题,请参考以下文章

leaflet 如何绘制圆

如何以给定的 X 和 Y 坐标绘制一个圆作为圆的中间点?

如何正确使用条件执行根据输入绘制圆?

如何使用正交投影在 OpenGL Core 3.3 中绘制一个圆?

在地图上以米为单位绘制圆

如何在 SDL 中绘制圆、弧和矢量图形?