集團從閱讀的文檔,面料上ContainsPoint(http://fabricjs.com/docs/symbols/fabric.Canvas.html#containsPoint),它規定:使用ContainsPoint選擇對象在
Applies one implementation of 'point inside polygon' algorithm
Parameters:
e
{ Event } event object
target
{ fabric.Object } object to test against
Returns:
{Boolean} true if point contains within area of given object
因此,基於這一點,我想一個組內通過所有對象進行迭代和如果containsPoint返回true,則選擇該對象。
但它總是返回false;
canvas.on('object:selected',function(o,i) {
console.log(o)
if (o.target.isType('group')) {
o.target.forEachObject(function(child) {
child.setCoords();
//always false
console.log(canvas.containsPoint(o.e, child));
});
}
})
這裏是jsFiddle - 任何想法? http://jsfiddle.net/LNt2g/1/
這是行不通的。 – 2015-10-26 11:38:58