xiandie/scene/ground/script/c03/囚室鱼眼景深镜头.gd

25 lines
653 B
GDScript3
Raw Normal View History

2025-07-22 11:59:08 +00:00
extends Control
@export var camera_rect := Rect2()
@onready var camera = %Camera2D as Camera2D
var speed := 5
func display() -> void:
visible = true
# var current_camera = get_viewport().get_camera_2d()
# current_camera.enabled = false
camera.enabled = true
camera.make_current()
func _process(delta: float) -> void:
if not is_visible_in_tree():
return
# 镜头中心 -> 鼠标位置
var center_pos = camera.global_position + Vector2(282, 120)
var direction = (camera.get_global_mouse_position() - center_pos).normalized()
var target = camera_rect.get_support(direction)
camera.position = camera.position.lerp(target, delta * speed)