拖动HTML5画布中的任意形状
Drag any shape in Canvas of HTML5
我正在尝试使用javascript在HTML5中绘制一些东西。
我希望形状可以是交互式的
我知道我可以通过javascript计算当前鼠标的位置是否落入形状(任何形状,可能是不规则形状)
但这太琐碎了
是否有一些api或lib可以方便地执行此计算
例如。
var anyshape = new Shape();
anyshape.addEventListen('mousemove', onMouseMove);
或
var anyshape = new Shape();
anyshape.onMouseMove = function(){};
Fabric.js提供开箱即用的形状拖动。还支持事件侦听和检测点击/悬停的对象等。
var myShape = /* any shape */;
canvas.observe('mouse:down', function(e) {
if (e.memo.target === myShape) {
/* mouse down on myShape */
}
});
还可以看看事件检查器演示。
您必须自己实现所有这些功能,否则就使用库。
如果你不想使用库,我已经写了一些关于制作可移动形状的教程。
我强烈建议您看看SVG,看看它是否更适合您的需求。SVG中已经存在内置了事件侦听器和命中测试的复杂路径。
http://www.html5canvastutorials.com/kineticjs/html5-canvas-kineticjs-path-tutorial/动能给你最好、最简单的方式。现在,您可以简单地在for循环中添加多个svg和事件侦听器。
for{
create shape code
add event listener
console log - kinetic rocks
}
相关文章:
- IE10+11:XSLT转换将任意CR/LF添加到XML中
- 在任意字符串中创建所有URL的链接
- 匹配三个正则表达式中的任意一个,以先到的为准(在javascript中)
- 如何存储&读取输入字段中的任意url
- JavaScript 是否能够像在 windows.location 中解析当前 URL 一样解析任意 URL
- React 路由器和任意查询参数:页面在加载时无意中刷新
- 在 $.event 中存储任意数据
- 如何将任意数量的图像动态添加到源字符串位于数据库中的 Web 窗体
- 柱形图中每列的 ng-谷歌图表自定义颜色
- 如何引用表单元格中任意给定行的一组复选框
- 如何禁用angularjs中的shift+任意键组合
- 如何在javascript中生成任意四个数字之间的随机数
- 如何在高图表的基本柱形图中隐藏/显示列
- 反转柱形图中的最小值和最大值
- 高图:多系列柱形图中的位置散点图
- Javascript "任意字符串"车把中的正则表达式
- 如果我们使用new array (len).fil({})创建对象数组;然后在任意一个对象中添加一个键,它会被反射到所有
- 从任意加权列表中生成随机数
- 旋转柱形图中的标签 d3.JS
- 高图表柱形图中的最大条形宽度