20 lines
588 B
GDScript
20 lines
588 B
GDScript
## Camera control. We listen to GUIDE's actions to move and zoom the camera. Note how we can
|
|
## mix event-based and polling based input handling, depending on what works better for the
|
|
## use case.
|
|
extends Camera2D
|
|
|
|
|
|
@export var camera_movement:GUIDEAction
|
|
@export var camera_zoom:GUIDEAction
|
|
@export var speed:float = 300
|
|
|
|
|
|
func _ready():
|
|
camera_zoom.triggered.connect(_zoom_camera)
|
|
|
|
func _process(delta):
|
|
position += camera_movement.value_axis_2d * speed * delta
|
|
|
|
func _zoom_camera():
|
|
zoom = clamp( zoom + Vector2.ONE * camera_zoom.value_axis_1d, Vector2(0.1, 0.1), Vector2(3, 3))
|