Camera fixes

This commit is contained in:
gamer147
2026-04-07 08:27:50 -04:00
parent 97909235ff
commit 39d2222546
2 changed files with 11 additions and 5 deletions

View File

@@ -6,9 +6,9 @@
[ext_resource type="Script" uid="uid://cxl38x2m6sj3w" path="res://scripts/battle/grid_overlay.gd" id="4_jelju"]
[ext_resource type="Texture2D" uid="uid://b1ks72fiesfrm" path="res://assets/sprites/combat_map_ui.BMP" id="5_mycp7"]
[ext_resource type="Texture2D" uid="uid://65rmoynep5hy" path="res://assets/sprites/MP000A.BMP" id="6_muxvo"]
[ext_resource type="Script" path="res://nodes/wall_renderer.gd" id="7_wallr"]
[ext_resource type="Script" uid="uid://c4f1vflwd81b8" path="res://nodes/wall_renderer.gd" id="7_wallr"]
[ext_resource type="Texture2D" uid="uid://b20mhn7ca5xyo" path="res://assets/sprites/aux_terrain.BMP" id="8_auxtr"]
[ext_resource type="Script" path="res://nodes/fog_renderer.gd" id="9_fogrn"]
[ext_resource type="Script" uid="uid://d1d1nbetdvynk" path="res://nodes/fog_renderer.gd" id="9_fogrn"]
[sub_resource type="Resource" id="Resource_vcj5e"]
script = ExtResource("2_8rn0j")
@@ -87,12 +87,12 @@ offset = Vector2(50, 50)
unique_name_in_owner = true
tile_set = SubResource("TileSet_e2u25")
[node name="FogRenderer" type="Node2D" parent="."]
[node name="FogRenderer" type="Node2D" parent="." unique_id=641669860]
unique_name_in_owner = true
script = ExtResource("9_fogrn")
atlas_texture = ExtResource("8_auxtr")
[node name="WallRenderer" type="Node2D" parent="."]
[node name="WallRenderer" type="Node2D" parent="." unique_id=1008825128]
unique_name_in_owner = true
z_index = 1
script = ExtResource("7_wallr")

View File

@@ -2,7 +2,13 @@ class_name CameraController extends Camera2D
func apply_drag(delta: Vector2) -> void:
position += delta / zoom
var half_view: Vector2 = get_viewport_rect().size * 0.5 / zoom
var min_pos := Vector2(limit_left, limit_top) + half_view
var max_pos := Vector2(limit_right, limit_bottom) - half_view
# Guard against maps smaller than the viewport (min > max)
max_pos.x = max(min_pos.x, max_pos.x)
max_pos.y = max(min_pos.y, max_pos.y)
position = (position + delta / zoom).clamp(min_pos, max_pos)
func set_map_bounds(rect: Rect2) -> void: