소스 검색

Rotate Control node with respecting pivot offset

volzhs 7 년 전
부모
커밋
48611afb80
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      editor/plugins/canvas_item_editor_plugin.cpp

+ 2 - 2
editor/plugins/canvas_item_editor_plugin.cpp

@@ -1953,9 +1953,9 @@ void CanvasItemEditor::_gui_input_viewport(const Ref<InputEvent> &p_event) {
 
 					if (node) {
 						real_t angle = node->get_rotation();
-						node->set_rotation(snap_angle(angle + (dfrom - center).angle_to(dto - center), angle));
 						display_rotate_to = dto;
-						display_rotate_from = center;
+						display_rotate_from = center + node->get_pivot_offset().rotated(angle);
+						node->set_rotation(snap_angle(angle + (dfrom - display_rotate_from).angle_to(display_rotate_to - display_rotate_from), angle));
 						viewport->update();
 					}
 				}