MORE Camera

This commit is contained in:
gdz
2025-08-08 19:39:55 +02:00
parent b429afcb81
commit 84da2ba48e
23 changed files with 446 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
using Godot;
using System;
public partial class GobalCamera : Camera2D
{
public Vector2 zoomSpeed = new Vector2(0.05f, 0.05f);
public float zoomMin = 0.001f;
public float zoomMax = 2.0f;
[Export] public float dragSensitivity = 0.35f;
public override void _Input(InputEvent @event)
{
base._Input(@event);
if (@event is InputEventMouseMotion mouseMotion && Input.IsMouseButtonPressed(MouseButton.Middle))
{
Position -= mouseMotion.Relative * dragSensitivity / Zoom;
}
if (@event is InputEventMouseButton mouseButton)
{
switch (mouseButton.ButtonIndex)
{
case MouseButton.WheelUp:
Zoom += zoomSpeed;
Zoom.Clamp(zoomMin, zoomMax);
break;
case MouseButton.WheelDown:
Zoom -= zoomSpeed;
Zoom.Clamp(zoomMin, zoomMax);
break;
}
Zoom.Clamp(zoomMin, zoomMax);
}
}
public static Vector2 Lerp(Vector2 from, Vector2 to, float weight) => from + (to - from) * weight;
}