【发布时间】:2012-07-03 07:26:01
【问题描述】:
是否可以使用 raphael.js 或 paper.js 绘制一条带有箭头的线,该箭头随着动画变形而移动?
【问题讨论】:
标签: javascript raphael vector-graphics
是否可以使用 raphael.js 或 paper.js 绘制一条带有箭头的线,该箭头随着动画变形而移动?
【问题讨论】:
标签: javascript raphael vector-graphics
尚不完全清楚您要做什么,但您的问题的简短回答几乎可以肯定是肯定的。我只能代表 RaphaelJS,但很容易告诉 Raphael 从一条路径转变为另一条路径。考虑this fiddle 和that fiddle,两者都依赖于使用 raphael 的animate 函数随着时间的推移修改path 元素,通常与一个或多个转换结合使用。唯一需要注意的是,raphael 的内置路径变形并不总是以您可能期望或期望的方式展开。但是为了尝试像上图那样制作动画,我会做这样的事情:
var canvas = Raphael( 0, 0, 320, 240 );
var path1 = "M0,120 h300 l10,-10 l10,10 h100";
var path2 = "M0,120 h100 l10,-10 l10,10 h300";
var path = canvas.path( path1 ).attr( { stroke: 'black', fill: 'none', 'stroke-width': 1 } );
path.animate( { path: path2, stroke: 'red', 'stroke-width': 3 }, 3000, function()
{ path.animate( { path: path1, stroke: 'black', 'stroke-width': 1 }, 3000 ); } );
你可以在here看到这个。
【讨论】: