This repository has been archived on 2025-09-12. You can view files and clone it, but cannot push or open issues or pull requests.
ld50/scene/Camera.gd
2022-04-04 20:16:14 +02:00

36 lines
1 KiB
GDScript

extends Camera
export(float, 0.0, 60.0) var rotation_extent_degrees: float = 30.0
export(float, 0.0, 2.0) var aim_area_aspect_ratio: float = 1.0
onready var base_x_rotation_degrees: float = rotation_degrees.x
func _process(delta: float) -> void:
var viewport: Viewport = get_viewport()
var viewport_middle: Vector2 = viewport.size * 0.5
var aim = (
(viewport.get_mouse_position() - viewport_middle)
/ viewport_middle.y
)
var rotation_proportion = Vector2(
(smoothstep(- aim_area_aspect_ratio, aim_area_aspect_ratio, aim.x) - 0.5) * 2.0 * 0.9,
(smoothstep(- 1.0, 1.0, aim.y) - 0.5) * 2.0
)
# YXZ
rotation_degrees = rotation_extent_degrees * Vector3(
- rotation_proportion.y,
- rotation_proportion.x,
0.0)
rotation_degrees.x += base_x_rotation_degrees
# DebugOverlay.display(aim)
# DebugOverlay.display(rotation_proportion)
# DebugOverlay.display(base_x_rotation_degrees)
# DebugOverlay.display(rotation_degrees)
func _on_Conveyor_finished_assembly(num_connectors, num_attachments):
pass # Replace with function body.