木子屋 Dnawo's BLOG

两个Flash画圆函数

👤 dnawo 📅 2007-06-19 👁 8528 👍 0 💬 0 🔄 来源:本站原创
this.createEmptyMovieClip("circle2_mc", 2);
circle2_mc.lineStyle(0, 0x000000);
drawCircle(circle2_mc, 100, 100, 100);
function drawCircle(mc:MovieClip, x:Number, y:Number, r:Number):Void {
    mc.moveTo(x+r, y);
    mc.curveTo(r+x, Math.tan(Math.PI/8)*r+y, Math.cos(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
    mc.curveTo(Math.tan(Math.PI/8)*r+x, r+y, x, r+y);
    mc.curveTo(-Math.tan(Math.PI/8)*r+x, r+y, -Math.cos(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
    mc.curveTo(-r+x, Math.tan(Math.PI/8)*r+y, -r+x, y);
    mc.curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.cos(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
    mc.curveTo(-Math.tan(Math.PI/8)*r+x, -r+y, x, -r+y);
    mc.curveTo(Math.tan(Math.PI/8)*r+x, -r+y, Math.cos(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
    mc.curveTo(r+x, -Math.tan(Math.PI/8)*r+y, r+x, y);
}


var m:Number = 0;
var n:Number = 0;
var Intervalid:Number;

lineStyle(1);

function drawCircle(x:Number, y:Number, r:Number){
    if(n==0){moveTo(x, y+r);}
	n += Math.PI/180;
	curveTo(x+r*Math.sin(m),y+r*Math.cos(m),x+r*Math.sin(n),y+r*Math.cos(n));
    m = n;
	if(n > 2*Math.PI){clearInterval(Intervalid);}
}

Intervalid = setInterval(this, "drawCircle", 10,200,100,100);

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 Flash获取鼠标点击坐标 下一篇 → 去除Flash文本框的文本格式