首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >画布.stroke()动画绘制html5

画布.stroke()动画绘制html5
EN

Stack Overflow用户
提问于 2012-12-11 08:54:33
回答 1查看 1.9K关注 0票数 1

http://jsfiddle.net/jfrazelle/bZec4/3/如何使箭头的绘制具有动画效果,如何放慢.stroke()的速度。我希望这个箭头是绘制和动画,因为它是画的。

代码语言:javascript
复制
drawArrow('arrow-1', 50, 50, 100, 10, 100);

function drawArrow(id, sx, sy, ex, ey, fx){
    var arrow = document.getElementById(id);
    var ctx_1 = arrow.getContext('2d');
    ctx_1.clearRect(0, 0, arrow.width, arrow.height);
    ctx_1.beginPath();
    ctx_1.moveTo(10,ey);
    ctx_1.quadraticCurveTo(sx, sy, ex, ey);
    ctx_1.stroke();

    var ang = findAngle(sx, sy, fx, ey);
    drawArrowhead(ctx_1, fx, ey, ang, 15, 15);
}

function drawArrowhead(ctx, locx, locy, angle, sizex, sizey) {
    var hx = sizex / 2;
    var hy = sizey / 2;
    ctx.translate((locx ), (locy));
    ctx.rotate(angle);
    ctx.translate(-hx,-hy);
    ctx.beginPath();
    ctx.moveTo(0,0);    
    ctx.lineTo(0.5*sizex,1.0*hy);
    ctx.lineTo(0.5,1.0*sizey);
    ctx.stroke();
}

// returns radians
function findAngle(sx, sy, ex, ey) {
    // make sx and sy at the zero point
    return Math.atan2((ey - sy) , (ex - sx));
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-11 09:15:06

您可能想要使用requestAnimFrame。look here.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13811923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档