永发信息网

FLASH中,如何把线顺时针转动,然后转动过的地方填充,慢慢地从扇形填充成圆形?

答案:1  悬赏:10  手机版
解决时间 2021-11-27 13:51
  • 提问者网友:山高云阔
  • 2021-11-27 02:24
FLASH中,如何把线顺时针转动,然后转动过的地方填充,慢慢地从扇形填充成圆形?
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-11-27 02:35
1、在场景新建一个影片剪辑 , 命名为 mc.
2、时间轴上粘贴此代码。
3、然后看懂并修改就行了。

MovieClip.prototype.drawSector = function(x, y, r, startA) {
this.clear();
this.beginFill(0x123456);
this.moveTo(x, y);
if (Math.abs(this.rotation)>360) {
this.rotation = 360;
}
n = Math.ceil(Math.abs(this.rotation)/45);
this.rotationA = this.rotation/n;
this.rotationA = this.rotationA*Math.PI/180;
this.startA = startA*Math.PI/180;
this.lineTo(x+r*Math.cos(this.startA), y+r*Math.sin(this.startA));
for (i=1; i<=n; i++) {
this.startA += this.rotationA;
this.rotationMid = this.startA-this.rotationA/2;
this.bx = x+r/Math.cos(this.rotationA/2)*Math.cos(this.rotationMid);
this.by = y+r/Math.cos(this.rotationA/2)*Math.sin(this.rotationMid);
this.cx = x+r*Math.cos(this.startA);
this.cy = y+r*Math.sin(this.startA);
this.curveTo(this.bx, this.by, this.cx, this.cy);
}
if (this.rotation != 360) {
this.lineTo(x, y);
}
this.endFill();
};
mc.r=50;
mc.rotation=10;
mc.onEnterFrame = function()
{

mc.rotation++;//每一个时间片+1角度
this.drawSector(0, 0, this.r, 10);//调用方法,参数X坐标,y坐标,半径,开始角度
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯