【问题标题】:Detect fabric js object edges and avoid overlap检测fabric js对象边缘并避免重叠
【发布时间】:2017-05-14 00:56:19
【问题描述】:

我有一个三角织物

var fabObj = new fabric.Triangle({
            left: 250,
            top: 250,
            fill: 'white',
            width: 60,
            height: 60,
            name:'triangle',
            borderColor: '#f0000',
            cornerSize: 8,
            transparentCorners: true,  
            hasControls:true,
            lockScalingX:true,
            lockScalingY:true
        });

$scope.canvas.add(fabObj);
$scope.canvas.setActiveObject(fabObj);
$scope.canvas.renderAll();

它创建如下三角形

我想要另一个三角形适合两边,但不能相互重叠

已经尝试过这段代码,但它只检测角(三角形的正方形边界) https://stackoverflow.com/a/31153459/3377733

请参考下面这个小提琴

http://jsfiddle.net/m0jjc23v/23/

【问题讨论】:

  • 你能在 jsfiddle 中显示问题吗?你用 perPixelTargetFind 测试过吗?
  • jsfiddle.net/m0jjc23v/21 是的,我在这里尝试过,但没有解决问题

标签: fabricjs


【解决方案1】:

Fabric.js 不是为处理此类情况而构建的。最好用 Matter JS http://brm.io/matter-js/

它们确实处理所有物理属性。

【讨论】:

    猜你喜欢
    • 2020-07-23
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 2023-04-02
    • 2012-05-09
    • 2019-12-07
    • 2014-04-30
    • 1970-01-01
    相关资源
    最近更新 更多