0
是否可以從這樣創建的組中選擇一個對象?Fabric js選擇組中的對象
var r = new fabric.Rect(...);
var l = new fabric.Line(...);
var roadGroup = new fabric.Group([r,l],{ ... });
所以我想要一個組,但是要分別選擇對象l或r。
是否可以從這樣創建的組中選擇一個對象?Fabric js選擇組中的對象
var r = new fabric.Rect(...);
var l = new fabric.Line(...);
var roadGroup = new fabric.Group([r,l],{ ... });
所以我想要一個組,但是要分別選擇對象l或r。
簡單的答案是肯定的,但你應該確保你考慮到一個組的目的。
爲了得到一個句柄被包裹在一組,你可以做這樣的事情在對象上:
var r = roadGroup._objects[0];
var l = roadGroup._objects[1];
要選擇一組的孩子嘗試是這樣的:
fabricCanvas.setActiveObject(roadGroup._objects[0]);
肥皂盒:
創建組的目的是將多個對象視爲如果他們是一個單一的。選擇對象的目的是允許用戶與對象進行交互。如果您希望用戶與組的一部分進行交互,您可能需要考慮不首先對其進行分組,或者在選擇子對象之前將其分組。
/肥皂盒
我的目標是:1.用戶可通過UI編輯單個對象(R,L)的性能。 2.物體不能分開移動,只能在一起。所以,如果你可以用其他方式來建議,那將是很棒的=) –
還有一件事:選擇應該是通過鼠標進行的。 –
如果您想使用鼠標進行選擇,則必須取消組合形狀。您可以在UI中創建一個列表,列出組中的子元素,當點擊列表中的一行時,該子元素將選擇子元素。或者,您可以在將子列表保存到標準JavaScript數組後將其解組,然後雙擊該組。單擊一個子對象的行爲將如常。然後創建一個'canvas.on('selection:created',function(){...}'函數來檢查一個未分組的形狀是否是當前選中的對象,如果沒有,則重新對它們進行分組。 – nickvans