0
このように作成されたグループから単一のオブジェクトを選択できますか?グループ内のファブリックjs選択オブジェクト
var r = new fabric.Rect(...);
var l = new fabric.Line(...);
var roadGroup = new fabric.Group([r,l],{ ... });
私はグループを持ちたいが、オブジェクトlまたはrを別々に選択したい。
このように作成されたグループから単一のオブジェクトを選択できますか?グループ内のファブリックjs選択オブジェクト
var r = new fabric.Rect(...);
var l = new fabric.Line(...);
var roadGroup = new fabric.Group([r,l],{ ... });
私はグループを持ちたいが、オブジェクトlまたはrを別々に選択したい。
簡単な答えははいですが、グループの目的を考慮してください。
fabricCanvas.setActiveObject(roadGroup._objects[0]);
:選択グループの子供がこのような何かをしようと
var r = roadGroup._objects[0];
var l = roadGroup._objects[1];
へ:
は、あなたがこのような何かを行うことができますグループに包まれているオブジェクトのハンドルを取得するには演説:
グループの作成を目的として、いくつかのオブジェクトを扱うことです彼らが単一のものだったら。オブジェクトを選択する目的は、オブジェクトとのユーザーの対話を許可することです。ユーザーがグループの一部と対話するようにするには、最初にグループ化しないか、グループ化を解除してから子オブジェクトを選択するとよいでしょう。
/演説
私の目標は、次のとおりです。1.ユーザーは、UIを通じて、単一のオブジェクト(R、L)のプロパティを編集することができます。 2.オブジェクトを別々に移動することはできません。だから、別の方法を示せば、それは素晴らしい=) –
ともう1つ:選択はマウスによって起こっているはずです。 –
マウスで選択する場合は、図形のグループを解除する必要があります。リスト内の行がクリックされたときにサブ要素を選択するグループ内のサブ要素をリストするUI内のリストを作成できます。代わりに、標準のjavascript配列に子リストを保存した後、グループのダブルクリックでグループ解除することもできます。子オブジェクトをシングルクリックすると、いつものように動作します。グループ化されていないシェイプの1つが現在選択されているオブジェクトであるかどうかをチェックする 'canvas.on( 'selection:created'、function(){...}'関数を作成し、そうでなければそれらを再グループ化します。 – nickvans