@@ -229,7 +229,9 @@ Error SceneDebugger::_msg_transform_camera_2d(const Array &p_args) {
229229 ERR_FAIL_COND_V (p_args.is_empty (), ERR_INVALID_DATA);
230230 ERR_FAIL_COND_V (!SceneTree::get_singleton ()->get_root ()->is_camera_2d_override_enabled (), ERR_BUG);
231231 Transform2D transform = p_args[0 ];
232- SceneTree::get_singleton ()->get_root ()->get_override_camera_2d ()->set_transform (transform);
232+ Camera2D *override_camera = SceneTree::get_singleton ()->get_root ()->get_override_camera_2d ();
233+ override_camera->set_offset (transform.affine_inverse ().get_origin ());
234+ override_camera->set_zoom (transform.get_scale ());
233235 RuntimeNodeSelect::get_singleton ()->_queue_selection_update ();
234236 return OK;
235237}
@@ -1622,7 +1624,6 @@ void RuntimeNodeSelect::_select_set_mode(SelectMode p_mode) {
16221624void RuntimeNodeSelect::_set_camera_override_enabled (bool p_enabled) {
16231625 camera_override = p_enabled;
16241626
1625- Window *root = SceneTree::get_singleton ()->get_root ();
16261627 if (camera_first_override) {
16271628 _reset_camera_2d ();
16281629#ifndef _3D_DISABLED
@@ -1634,6 +1635,7 @@ void RuntimeNodeSelect::_set_camera_override_enabled(bool p_enabled) {
16341635 _update_view_2d ();
16351636
16361637#ifndef _3D_DISABLED
1638+ Window *root = SceneTree::get_singleton ()->get_root ();
16371639 ERR_FAIL_COND (!root->is_camera_3d_override_enabled ());
16381640 Camera3D *override_camera = root->get_override_camera_3d ();
16391641 override_camera->set_transform (_get_cursor_transform ());
@@ -2477,6 +2479,7 @@ void RuntimeNodeSelect::_zoom_callback(float p_zoom_factor, Vector2 p_origin, Re
24772479}
24782480
24792481void RuntimeNodeSelect::_reset_camera_2d () {
2482+ camera_first_override = true ;
24802483 Window *root = SceneTree::get_singleton ()->get_root ();
24812484 Camera2D *game_camera = root->is_camera_2d_override_enabled () ? root->get_overridden_camera_2d () : root->get_camera_2d ();
24822485 if (game_camera) {
@@ -2500,7 +2503,7 @@ void RuntimeNodeSelect::_update_view_2d() {
25002503 Camera2D *override_camera = root->get_override_camera_2d ();
25012504 override_camera->set_anchor_mode (Camera2D::ANCHOR_MODE_FIXED_TOP_LEFT);
25022505 override_camera->set_zoom (Vector2 (view_2d_zoom, view_2d_zoom));
2503- override_camera->set_position (view_2d_offset);
2506+ override_camera->set_offset (view_2d_offset);
25042507
25052508 _queue_selection_update ();
25062509}
0 commit comments