fabric.js(1.7.11)を使用して、1つのオブジェクトをグループ化せずに別のオブジェクトの回転に追従させようとしています。子オブジェクトの親への位置。だから私は、(1) "子"オブジェクトの回転中心を "親"の回転中心に設定し、次に(2)親オブジェクトが回転しているので、その回転デルタを子に適用します回転した状態で)。ここで fabric.js - Parent w/oを基にした "Child"オブジェクトの回転グループ化
は擬似コードcanvas.on('object:rotating', canvasEvent_ObjectRotating);
function canvasEvent_ObjectRotating(e)
{
// set r2'2 center of rotation = r1's center of rotation
// r2.angle += (delta of rotation of r1 angle)
}
で最終的な結果は、子が親に「スタック」と表示されていることなどである(ゲームボード上のスティッキーノートのように、そしてあなたは、ゲームボードを回転させます)ここで
フィドルです:
https://jsfiddle.net/emaybert/bkb5awj6/
1または2で任意の助けいただければ幸いです。オブジェクトの角度デルタの取得方法:コールバックの回転、および/またはオブジェクトを任意の点でピボットする方法。私はfabric.util.rotatePoint
への参照とそれを使って行を回転させる方法の例を見ましたが、オブジェクトではなく、その精神変換を行うことができませんでした。
ありがとうLogan。それは素晴らしいです、そして私が探していたものは90%ありました。究極の解決策は、青い四角形を(現在のように)外側の正方形で「一緒に」回転させることですが、回転させることはありません。 – emaybert
それは、青い正方形の隅から始まり、外側の赤い正方形に触れるときに注意してください。回転中、この構成は一定のままでなければなりません。赤い正方形がどのように回転しているかにかかわらず、青い四角のその点は、赤い四角の同じ点に常に触れています。 – emaybert
私が考えることができる最も良いアナロジーは、床に座っているゲームボードを描くことです。次に、ゲームボードに付箋を添付します。次に、ボードを回転させます。 (付箋はボードの回転に従いますが、独立して回転しません) – emaybert