Fix bad position in Camera2D offset and camera rotation if smothing enabled.
Fix https://github.com/godotengine/godot/issues/16323 in master. Apply same solution of https://github.com/godotengine/godot/issues/2074 in rotation and offset.
This commit is contained in:
parent
77990b87c2
commit
bccc2cdb9c
@ -343,7 +343,9 @@ void Camera2D::_notification(int p_what) {
|
|||||||
|
|
||||||
void Camera2D::set_offset(const Vector2 &p_offset) {
|
void Camera2D::set_offset(const Vector2 &p_offset) {
|
||||||
offset = p_offset;
|
offset = p_offset;
|
||||||
|
Point2 old_smoothed_camera_pos = smoothed_camera_pos;
|
||||||
_update_scroll();
|
_update_scroll();
|
||||||
|
smoothed_camera_pos = old_smoothed_camera_pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector2 Camera2D::get_offset() const {
|
Vector2 Camera2D::get_offset() const {
|
||||||
@ -361,7 +363,9 @@ Camera2D::AnchorMode Camera2D::get_anchor_mode() const {
|
|||||||
|
|
||||||
void Camera2D::set_rotating(bool p_rotating) {
|
void Camera2D::set_rotating(bool p_rotating) {
|
||||||
rotating = p_rotating;
|
rotating = p_rotating;
|
||||||
|
Point2 old_smoothed_camera_pos = smoothed_camera_pos;
|
||||||
_update_scroll();
|
_update_scroll();
|
||||||
|
smoothed_camera_pos = old_smoothed_camera_pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Camera2D::is_rotating() const {
|
bool Camera2D::is_rotating() const {
|
||||||
@ -522,7 +526,9 @@ bool Camera2D::is_v_drag_enabled() const {
|
|||||||
void Camera2D::set_v_offset(float p_offset) {
|
void Camera2D::set_v_offset(float p_offset) {
|
||||||
v_ofs = p_offset;
|
v_ofs = p_offset;
|
||||||
v_offset_changed = true;
|
v_offset_changed = true;
|
||||||
|
Point2 old_smoothed_camera_pos = smoothed_camera_pos;
|
||||||
_update_scroll();
|
_update_scroll();
|
||||||
|
smoothed_camera_pos = old_smoothed_camera_pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
float Camera2D::get_v_offset() const {
|
float Camera2D::get_v_offset() const {
|
||||||
@ -532,7 +538,9 @@ float Camera2D::get_v_offset() const {
|
|||||||
void Camera2D::set_h_offset(float p_offset) {
|
void Camera2D::set_h_offset(float p_offset) {
|
||||||
h_ofs = p_offset;
|
h_ofs = p_offset;
|
||||||
h_offset_changed = true;
|
h_offset_changed = true;
|
||||||
|
Point2 old_smoothed_camera_pos = smoothed_camera_pos;
|
||||||
_update_scroll();
|
_update_scroll();
|
||||||
|
smoothed_camera_pos = old_smoothed_camera_pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
float Camera2D::get_h_offset() const {
|
float Camera2D::get_h_offset() const {
|
||||||
|
Loading…
Reference in New Issue
Block a user