Camera pan fix

This commit is contained in:
Rakarake 2024-11-29 23:41:07 +01:00
parent 699bdaed45
commit c8cbd72029

View file

@ -32,22 +32,26 @@ var looking_right := true
func _ready():
if follow_camera != null:
camera_stack.append(follow_camera)
var apply_reset = func(): camera_transition_time_tmp = 0.0
apply_reset.call_deferred()
func _physics_process(delta: float):
if look_aside_enabled:
var pos_target = look_aside if looking_right else - look_aside
var curve_x = abs(pos_target - position.x) / (look_aside * 2)
print("posx: ", position.x)
print("postarget: ", pos_target)
print(curve_x)
position.x += sign(pos_target) * look_aside_speed_curve.sample(
curve_x) * delta
position.x = clamp(position.x, -look_aside, look_aside)
# Camera updates
# Camera position update
camera_transition_time_tmp -= delta
if camera_transition_time_tmp <= 0.0:
camera_transition_time_tmp = 0.0
update_camera_properties()
func update_camera_properties():
if !camera_stack.is_empty():
# Position interpolation
var target_pos = try_inherit("inherit_position", "global_position")
@ -55,13 +59,13 @@ func _physics_process(delta: float):
camera_original_position \
+ transition_speed_curve.sample(1.0 - camera_transition_time_tmp) \
* (target_pos - camera_original_position)
# Limits
limit_left = try_inherit("inherit_limit", "limit_left")
limit_right = try_inherit("inherit_limit", "limit_right")
limit_top = try_inherit("inherit_limit", "limit_top")
limit_bottom = try_inherit("inherit_limit", "limit_bottom")
func apply_camera(c):
if camera_stack.find(c) == -1:
camera_stack.append(c)