fabric.js (1.7.11)를 사용하여 한 객체를 그룹화하지 않고 다른 객체의 회전을 따르려고합니다. 부모 객체에 대한 자식 객체의 위치. 그래서 나는 (1) "자식"객체의 회전 중심을 "부모"의 회전 중심으로 설정 한 다음 (2) 부모 객체가 회전 할 때 해당 회전 델타를 자식에 적용해야합니다 (이미 시작할 수도 있음). 회전 된 상태에서). 여기 fabric.js - 부모가 아닌 부모를 기준으로 "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)
}
입니다 최종 결과는 자녀가 부모에게 "붙어"가 표시되도록입니다 (게임 보드에 접착 노트와 같은, 당신은 다음 게임 보드를 회전) 1 또는 2에 어떤 도움을 주시면 감사하겠습니다
https://jsfiddle.net/emaybert/bkb5awj6/
: 여기
는 바이올린입니다. 개체에서 각도 델타를 얻는 방법 : 콜백 회전 및/또는 임의의 지점에서 개체를 피벗하는 방법. fabric.util.rotatePoint
에 대한 참조와이를 사용하여 선을 회전하는 방법의 예를 보았지만 객체가 아니라 정신적 변형을 할 수 없었습니다.
감사합니다 Logan. 환상적입니다. 90 %는 내가 찾고있는 곳입니다. 궁극적 인 해결책은 파란색 사각형을 외부 정사각형과 함께 "회전"시키되 자체 회전시키지 않는 것입니다. – emaybert
그러면 파란색 사각형의 모서리에서 시작하여 바깥 쪽 빨간색 사각형이 닿아 있습니다. 회전 중에이 구성은 일정하게 유지되어야합니다. 파란색 사각형의 점은 빨간색 사각형이 회전되는 방법에 관계없이 항상 빨간색 사각형의 동일한 점을 터치합니다. – emaybert
제가 생각할 수있는 가장 좋은 비유는 바닥에 앉아 게임 보드를 그림입니다. 그런 다음 게임 보드에 스티커 메모를 붙이십시오. 그런 다음 보드를 돌립니다. (스티커 메모는 보드의 회전을 따르지만 독립적으로 회전하지 않습니다) – emaybert