qq_33342585 2017-07-22 09:37 采纳率: 0%
浏览 1413

写了一个画圆的动画,想在执行画完大圆后画小圆,但运行后只画小圆

var canvas = document.getElementById('myCanvas'),width = canvas.width,height = canvas.height,ctx = canvas.getContext('2d');

var step,startAngle,endAngle,add=Math.PI*2/100;
ctx.shadowOffsetX = 0; // 设置水平位移
ctx.shadowOffsetY = 0; // 设置垂直位移
ctx.shadowBlur = 10; // 设置模糊度
ctx.lineWidth = 1.0;
counterClockwise = false;
var x;
var y;
var radius;
var animation_interval = 20,n = 100;
var varName;

function drawCircle(X,Y,Radius){
step=1;
startAngle=0;
ctx.strokeStyle ='#FFF';//圆圈颜色

ctx.shadowColor = '#000'; // 设置阴影颜色
//圆心位置
x=X;
y=Y;
radius = Radius;

varName= setInterval(animation, animation_interval);

     }

function actiondo(){
var draw=function(){drawCircle(400,500,80);};
draw();
draw=function(){drawCircle(400,500,50);};
draw();
}

var animation = function () {

if (step <= n) {

endAngle = startAngle + add ;

drawArc(startAngle, endAngle);
startAngle = endAngle;
step++;

} else {

clearInterval(varName);

}

};
function drawArc(s, e) {

ctx.beginPath();

ctx.arc(x, y, radius, s, e, counterClockwise);

ctx.lineWidth = 1.0;

ctx.stroke();

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-07-22 15:50
    关注

    画完大圆没有看到有停顿刷新的代码就画小圆,所以看不见了。

    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿