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

24 lines
681 B
GDScript3
Raw Normal View History

2025-06-17 07:18:56 +00:00
extends Node2D
@export var camera_rect: Rect2
@onready var camera = %Camera2D as Camera2D
var speed := 150
var current_speed := Vector2.ZERO
func _process(delta: float) -> void:
# move camera according to current_speed
var direction = Vector2(Input.get_axis("left", "right"), Input.get_axis("up", "down"))
current_speed = direction * speed
camera.position += current_speed * delta
# clamp inside camera_rect
if camera_rect:
camera.position.x = clamp(
camera.position.x, camera_rect.position.x, camera_rect.position.x + camera_rect.size.x
)
camera.position.y = clamp(
camera.position.y, camera_rect.position.y, camera_rect.position.y + camera_rect.size.y
)