summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-07-09 16:47:17 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-07-09 16:47:17 +0200
commitff8050efda18ffc76bb0414cbca237a94fe06f6c (patch)
tree424607ae9ad1cdb2e5a070e858839115593ca618
parent40cb283dd714512869f7d51400caeef064f43219 (diff)
parent8888e9216fbbb804d75061266c59e036acc2895a (diff)
downloadredot-engine-ff8050efda18ffc76bb0414cbca237a94fe06f6c.tar.gz
Merge pull request #94014 from markdibarry/parallax-snap
Add pixel snap for `Parallax2D`
-rw-r--r--scene/2d/parallax_2d.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/scene/2d/parallax_2d.cpp b/scene/2d/parallax_2d.cpp
index b3586a1da0..9dd9d4a376 100644
--- a/scene/2d/parallax_2d.cpp
+++ b/scene/2d/parallax_2d.cpp
@@ -31,6 +31,7 @@
#include "parallax_2d.h"
#include "core/config/project_settings.h"
+#include "scene/main/viewport.h"
void Parallax2D::_notification(int p_what) {
switch (p_what) {
@@ -72,7 +73,11 @@ void Parallax2D::_validate_property(PropertyInfo &p_property) const {
void Parallax2D::_camera_moved(const Transform2D &p_transform, const Point2 &p_screen_offset, const Point2 &p_adj_screen_pos) {
if (!ignore_camera_scroll) {
- set_screen_offset(p_adj_screen_pos);
+ if (get_viewport() && get_viewport()->is_snap_2d_transforms_to_pixel_enabled()) {
+ set_screen_offset((p_adj_screen_pos + Vector2(0.5, 0.5)).floor());
+ } else {
+ set_screen_offset(p_adj_screen_pos);
+ }
}
}