mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
added Special style scrolling, just for funsies, might make toggleable, not sure yet
This commit is contained in:
@@ -714,6 +714,7 @@ uppercase = true
|
|||||||
script = ExtResource("10_2qqpf")
|
script = ExtResource("10_2qqpf")
|
||||||
|
|
||||||
[node name="KeyboardControls" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer" node_paths=PackedStringArray("options")]
|
[node name="KeyboardControls" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer" node_paths=PackedStringArray("options")]
|
||||||
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
theme_override_constants/separation = -4
|
theme_override_constants/separation = -4
|
||||||
|
@@ -26,6 +26,11 @@ const SCROLL_DIFFERENCE := 48.0
|
|||||||
|
|
||||||
var can_diff := true
|
var can_diff := true
|
||||||
|
|
||||||
|
static var sp_screen_scroll := false
|
||||||
|
static var sp_scroll_style := 1
|
||||||
|
|
||||||
|
var sp_scrolling := false
|
||||||
|
|
||||||
func _exit_tree() -> void:
|
func _exit_tree() -> void:
|
||||||
cam_locked = false
|
cam_locked = false
|
||||||
|
|
||||||
@@ -45,9 +50,12 @@ func handle_camera(delta: float) -> void:
|
|||||||
return
|
return
|
||||||
|
|
||||||
if not cam_locked:
|
if not cam_locked:
|
||||||
|
if not sp_screen_scroll:
|
||||||
handle_horizontal_scrolling(delta)
|
handle_horizontal_scrolling(delta)
|
||||||
handle_vertical_scrolling(delta)
|
handle_vertical_scrolling(delta)
|
||||||
handle_offsets(delta)
|
handle_offsets(delta)
|
||||||
|
else:
|
||||||
|
handle_sp_scrolling()
|
||||||
|
|
||||||
do_limits()
|
do_limits()
|
||||||
camera.global_position = camera_position + camera_offset
|
camera.global_position = camera_position + camera_offset
|
||||||
@@ -107,6 +115,31 @@ func handle_vertical_scrolling(_delta: float) -> void:
|
|||||||
elif global_position.y > camera_position.y + 32:
|
elif global_position.y > camera_position.y + 32:
|
||||||
camera_position.y = global_position.y - 32
|
camera_position.y = global_position.y - 32
|
||||||
|
|
||||||
|
func handle_sp_scrolling() -> void:
|
||||||
|
var distance = camera_position.x - owner.global_position.x
|
||||||
|
var limit = get_viewport().get_visible_rect().size.x / 2 - 16
|
||||||
|
if abs(distance) > limit:
|
||||||
|
do_sp_scroll(sign(owner.global_position.x - camera_position.x))
|
||||||
|
|
||||||
|
func do_sp_scroll(direction := 1) -> void:
|
||||||
|
if sp_scrolling: return
|
||||||
|
sp_scrolling = true
|
||||||
|
process_mode = Node.PROCESS_MODE_ALWAYS
|
||||||
|
get_tree().paused = true
|
||||||
|
var distance = get_viewport().get_visible_rect().size.x - 32
|
||||||
|
if sp_scroll_style == 0:
|
||||||
|
var tween = create_tween()
|
||||||
|
tween.tween_property(self, "camera_position:x", camera_position.x + (distance * direction), 1)
|
||||||
|
await tween.finished
|
||||||
|
else:
|
||||||
|
Global.get_node("Transition").show()
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
camera_position.x += distance * direction
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
Global.get_node("Transition").hide()
|
||||||
|
sp_scrolling = false
|
||||||
|
get_tree().paused = false
|
||||||
|
|
||||||
func tween_ahead() -> void:
|
func tween_ahead() -> void:
|
||||||
if scrolling == false: return
|
if scrolling == false: return
|
||||||
await get_tree().create_timer(0.25).timeout
|
await get_tree().create_timer(0.25).timeout
|
||||||
|
Reference in New Issue
Block a user