map handling refined, map selection logic implemented

This commit is contained in:
Jonas 2025-03-23 21:20:52 +01:00
parent bbcb098b06
commit 48ee4b49ea
14 changed files with 480 additions and 45 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsox4y2fftlh8"
path="res://.godot/imported/iso_tileset_with_select.png-ffd5c8774cc61a06e608c6b93e2ee00f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/tiles/iso_tileset_with_select.png"
dest_files=["res://.godot/imported/iso_tileset_with_select.png-ffd5c8774cc61a06e608c6b93e2ee00f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

15
scenes/debug_level.tscn Normal file
View File

@ -0,0 +1,15 @@
[gd_scene load_steps=4 format=3 uid="uid://c87m8r007ned1"]
[ext_resource type="Script" uid="uid://0aqxvhvqbtr" path="res://scripts/debug_level.gd" id="1_8d50e"]
[ext_resource type="PackedScene" uid="uid://dg0qxdwe2rlcn" path="res://scenes/isometric_map_layer_holder.tscn" id="1_ln2x5"]
[ext_resource type="PackedScene" uid="uid://d1jhpluu86cbd" path="res://scenes/player.tscn" id="2_6or15"]
[node name="DebugLevel" type="Node2D"]
y_sort_enabled = true
script = ExtResource("1_8d50e")
[node name="IsometricMapLayerHolder" parent="." instance=ExtResource("1_ln2x5")]
[node name="Player" parent="." instance=ExtResource("2_6or15")]
visible = false
z_index = 99

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://dg0qxdwe2rlcn"]
[gd_scene load_steps=7 format=3 uid="uid://dg0qxdwe2rlcn"]
[ext_resource type="Script" uid="uid://dxcfy8xypdde6" path="res://scripts/isometric_map_layer_holder.gd" id="1_4o54u"]
[ext_resource type="Texture2D" uid="uid://p8iyle6kr3nf" path="res://assets/sprites/tiles/iso_tileset.png" id="1_fme3d"]
[ext_resource type="Texture2D" uid="uid://bsox4y2fftlh8" path="res://assets/sprites/tiles/iso_tileset_with_select.png" id="3_s16iq"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_4o54u"]
texture = ExtResource("1_fme3d")
@ -21,12 +22,61 @@ texture_region_size = Vector2i(32, 32)
6:0/0 = 0
6:0/0/texture_origin = Vector2i(0, -8)
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_wvhlo"]
texture = ExtResource("3_s16iq")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/texture_origin = Vector2i(0, -8)
1:0/0 = 0
1:0/0/texture_origin = Vector2i(0, -8)
2:0/0 = 0
2:0/0/texture_origin = Vector2i(0, -8)
3:0/0 = 0
3:0/0/texture_origin = Vector2i(0, -8)
4:0/0 = 0
4:0/0/texture_origin = Vector2i(0, -8)
5:0/0 = 0
5:0/0/texture_origin = Vector2i(0, -8)
6:0/0 = 0
6:0/0/texture_origin = Vector2i(0, -8)
7:0/0 = 0
7:0/0/texture_origin = Vector2i(0, -8)
0:1/0 = 0
0:1/0/texture_origin = Vector2i(0, -8)
1:1/0 = 0
1:1/0/texture_origin = Vector2i(0, -8)
2:1/0 = 0
2:1/0/texture_origin = Vector2i(0, -8)
3:1/0 = 0
3:1/0/texture_origin = Vector2i(0, -8)
4:1/0 = 0
4:1/0/texture_origin = Vector2i(0, -8)
5:1/0 = 0
5:1/0/texture_origin = Vector2i(0, -8)
6:1/0 = 0
6:1/0/texture_origin = Vector2i(0, -8)
0:2/0 = 0
1:2/0 = 0
2:2/0 = 0
3:2/0 = 0
4:2/0 = 0
5:2/0 = 0
6:2/0 = 0
0:3/0 = 0
1:3/0 = 0
2:3/0 = 0
3:3/0 = 0
4:3/0 = 0
5:3/0 = 0
6:3/0 = 0
[sub_resource type="TileSet" id="TileSet_s16iq"]
tile_shape = 1
tile_layout = 5
tile_offset_axis = 1
tile_size = Vector2i(32, 16)
sources/0 = SubResource("TileSetAtlasSource_4o54u")
sources/1 = SubResource("TileSetAtlasSource_wvhlo")
[node name="IsometricMapLayerHolder" type="Node2D"]
script = ExtResource("1_4o54u")

View File

@ -0,0 +1,171 @@
[gd_scene load_steps=7 format=3 uid="uid://dg0qxdwe2rlcn"]
[ext_resource type="Script" uid="uid://dxcfy8xypdde6" path="res://scripts/isometric_map_layer_holder.gd" id="1_4o54u"]
[ext_resource type="Texture2D" uid="uid://p8iyle6kr3nf" path="res://assets/sprites/tiles/iso_tileset.png" id="1_fme3d"]
[ext_resource type="Texture2D" uid="uid://bsox4y2fftlh8" path="res://assets/sprites/tiles/iso_tileset_with_select.png" id="3_s16iq"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_4o54u"]
texture = ExtResource("1_fme3d")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/texture_origin = Vector2i(0, -8)
1:0/0 = 0
1:0/0/texture_origin = Vector2i(0, -8)
2:0/0 = 0
2:0/0/texture_origin = Vector2i(0, -8)
3:0/0 = 0
3:0/0/texture_origin = Vector2i(0, -8)
4:0/0 = 0
4:0/0/texture_origin = Vector2i(0, -8)
5:0/0 = 0
5:0/0/texture_origin = Vector2i(0, -8)
6:0/0 = 0
6:0/0/texture_origin = Vector2i(0, -8)
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_wvhlo"]
texture = ExtResource("3_s16iq")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/texture_origin = Vector2i(0, -8)
1:0/0 = 0
1:0/0/texture_origin = Vector2i(0, -8)
2:0/0 = 0
2:0/0/texture_origin = Vector2i(0, -8)
3:0/0 = 0
3:0/0/texture_origin = Vector2i(0, -8)
4:0/0 = 0
4:0/0/texture_origin = Vector2i(0, -8)
5:0/0 = 0
5:0/0/texture_origin = Vector2i(0, -8)
6:0/0 = 0
6:0/0/texture_origin = Vector2i(0, -8)
7:0/0 = 0
7:0/0/texture_origin = Vector2i(0, -8)
0:1/0 = 0
0:1/0/texture_origin = Vector2i(0, -8)
1:1/0 = 0
1:1/0/texture_origin = Vector2i(0, -8)
2:1/0 = 0
2:1/0/texture_origin = Vector2i(0, -8)
3:1/0 = 0
3:1/0/texture_origin = Vector2i(0, -8)
4:1/0 = 0
4:1/0/texture_origin = Vector2i(0, -8)
5:1/0 = 0
5:1/0/texture_origin = Vector2i(0, -8)
6:1/0 = 0
6:1/0/texture_origin = Vector2i(0, -8)
0:2/0 = 0
1:2/0 = 0
2:2/0 = 0
3:2/0 = 0
4:2/0 = 0
5:2/0 = 0
6:2/0 = 0
0:3/0 = 0
1:3/0 = 0
2:3/0 = 0
3:3/0 = 0
4:3/0 = 0
5:3/0 = 0
6:3/0 = 0
[sub_resource type="TileSet" id="TileSet_s16iq"]
tile_shape = 1
tile_layout = 5
tile_offset_axis = 1
tile_size = Vector2i(32, 16)
sources/0 = SubResource("TileSetAtlasSource_4o54u")
sources/1 = SubResource("TileSetAtlasSource_wvhlo")
[node name="IsometricMapLayerHolder" type="Node2D"]
script = ExtResource("1_4o54u")
[node name="Camera2D" type="Camera2D" parent="."]
zoom = Vector2(0.5, 0.5)
[node name="TileMapLayer" type="TileMapLayer" parent="."]
tile_set = SubResource("TileSet_s16iq")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="ResetButton" type="Button" parent="CanvasLayer"]
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -25.5
offset_top = -31.0
offset_right = 25.5
grow_horizontal = 2
grow_vertical = 0
size_flags_horizontal = 4
size_flags_vertical = 4
text = "Reset"
[node name="Z_CW" type="Button" parent="CanvasLayer"]
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -34.0
offset_top = -15.5
offset_bottom = 15.5
grow_horizontal = 0
grow_vertical = 2
text = "Rotate CW Z-Axis"
[node name="Z_CCW" type="Button" parent="CanvasLayer"]
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_top = -15.5
offset_right = 44.0
offset_bottom = 15.5
grow_vertical = 2
text = "Rotate CCW Z-Axis"
[node name="X_CW" type="Button" parent="CanvasLayer"]
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -140.0
offset_top = -31.0
grow_horizontal = 0
grow_vertical = 0
text = "Rotate CW X-Axis"
[node name="X_CCW" type="Button" parent="CanvasLayer"]
offset_right = 150.0
offset_bottom = 31.0
text = "Rotate CCW X-Axis"
[node name="Y_CW" type="Button" parent="CanvasLayer"]
anchors_preset = 2
anchor_top = 1.0
anchor_bottom = 1.0
offset_top = -31.0
offset_right = 139.0
grow_vertical = 0
text = "Rotate CW Y-Axis"
[node name="Y_CCW" type="Button" parent="CanvasLayer"]
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -150.0
offset_bottom = 31.0
grow_horizontal = 0
text = "Rotate CCW Y-Axis"
[connection signal="pressed" from="CanvasLayer/ResetButton" to="." method="_on_reset_button_pressed"]
[connection signal="pressed" from="CanvasLayer/Z_CW" to="." method="_on_cw_pressed"]
[connection signal="pressed" from="CanvasLayer/Z_CCW" to="." method="_on_ccw_pressed"]
[connection signal="pressed" from="CanvasLayer/X_CW" to="." method="_on_x_cw_pressed"]
[connection signal="pressed" from="CanvasLayer/X_CCW" to="." method="_on_x_ccw_pressed"]
[connection signal="pressed" from="CanvasLayer/Y_CW" to="." method="_on_y_cw_pressed"]
[connection signal="pressed" from="CanvasLayer/Y_CCW" to="." method="_on_y_ccw_pressed"]

View File

@ -1,9 +1,7 @@
[gd_scene load_steps=16 format=3 uid="uid://d1jhpluu86cbd"]
[gd_scene load_steps=17 format=3 uid="uid://d1jhpluu86cbd"]
[ext_resource type="Texture2D" uid="uid://d3tfo61gemayy" path="res://assets/sprites/units/$Cat_Female (2).png" id="1_3vyb7"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_v6fml"]
size = Vector2(36, 51)
[ext_resource type="Script" uid="uid://jfojoaymauh2" path="res://scripts/player.gd" id="1_g2els"]
[sub_resource type="AtlasTexture" id="AtlasTexture_3li8b"]
atlas = ExtResource("1_3vyb7")
@ -112,13 +110,18 @@ animations = [{
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_v6fml"]
size = Vector2(36, 51)
[node name="Player" type="CharacterBody2D"]
script = ExtResource("1_g2els")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
scale = Vector2(0.5, 0.5)
sprite_frames = SubResource("SpriteFrames_0rnld")
animation = &"down"
frame_progress = 0.830149
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 4.5)
shape = SubResource("RectangleShape2D_v6fml")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_0rnld")
animation = &"down"
frame_progress = 0.830149

4
scripts/debug_level.gd Normal file
View File

@ -0,0 +1,4 @@
extends Node2D
func _process(delta: float) -> void:
pass

View File

@ -0,0 +1 @@
uid://0aqxvhvqbtr

View File

@ -69,7 +69,10 @@ func create_debug_map_array():
"x": coord_x,
"y": coord_y,
"z": z,
"atlas_position": null,
"atlas_base_position": null,
"atlas_highlight_position": null,
"highlighted": false,
"selected": false,
"hp": 100,
"armour": 0,
"destroyable": false,
@ -78,40 +81,47 @@ func create_debug_map_array():
"gravity": null
}
_debug_map[x][y][z] = tile_data
# Bottum
var tile = _debug_map[0][0][0]
for y in INITIAL_GRID_SIZE_LENGTH:
for x in INITIAL_GRID_SIZE_WIDTH:
var tile = _debug_map[x][y][0]
tile["atlas_position"] = BLUE_ISOMETRICTILE_ATLAS_POSITION
tile["visibility"] = true
# Top
for y in INITIAL_GRID_SIZE_LENGTH:
for x in INITIAL_GRID_SIZE_WIDTH:
var tile = _debug_map[x][y][INITIAL_GRID_SIZE_HEIGHT-1]
tile["atlas_position"] = BLUE_ISOMETRICTILE_ATLAS_POSITION
tile = _debug_map[x][y][0]
tile["atlas_base_position"] = BLUE_ISOMETRICTILE_ATLAS_POSITION
tile["atlas_highlight_position"] = WHITE_ISOMETRICTILE_ATLAS_POSITION
tile["visibility"] = true
for i in range(1,10):
tile = _debug_map[5][5][i]
tile["atlas_base_position"] = RED_ISOMETRICTILE_ATLAS_POSITION
tile["atlas_highlight_position"] = WHITE_ISOMETRICTILE_ATLAS_POSITION
tile["visibility"] = true
for z in range(1,INITIAL_GRID_SIZE_HEIGHT-1):
for x in INITIAL_GRID_SIZE_WIDTH:
var tile = _debug_map[x][0][z]
tile["atlas_position"] = GREEN_ISOMETRICTILE_ATLAS_POSITION
tile["visibility"] = true
for z in range(1,INITIAL_GRID_SIZE_HEIGHT-1):
for x in INITIAL_GRID_SIZE_WIDTH:
var tile = _debug_map[x][INITIAL_GRID_SIZE_LENGTH-1][z]
tile["atlas_position"] = GREEN_ISOMETRICTILE_ATLAS_POSITION
tile["visibility"] = true
# for y in INITIAL_GRID_SIZE_LENGTH:
# for x in INITIAL_GRID_SIZE_WIDTH:
# tile = _debug_map[x][y][INITIAL_GRID_SIZE_HEIGHT-1]
# tile["atlas_position"] = BLUE_ISOMETRICTILE_ATLAS_POSITION
# tile["visibility"] = true
for z in range(1,INITIAL_GRID_SIZE_HEIGHT-1):
for y in range(1,INITIAL_GRID_SIZE_LENGTH-1):
var tile = _debug_map[0][y][z]
tile["atlas_position"] = BLACK_ISOMETRICTILE_ATLAS_POSITION
tile["visibility"] = true
for z in range(1,INITIAL_GRID_SIZE_HEIGHT-1):
for y in range(1,INITIAL_GRID_SIZE_LENGTH-1):
var tile = _debug_map[INITIAL_GRID_SIZE_WIDTH-1][y][z]
tile["atlas_position"] = RED_ISOMETRICTILE_ATLAS_POSITION
tile["visibility"] = true
# for z in range(1,INITIAL_GRID_SIZE_HEIGHT-1):
# for x in INITIAL_GRID_SIZE_WIDTH:
# tile = _debug_map[x][0][z]
# tile["atlas_position"] = GREEN_ISOMETRICTILE_ATLAS_POSITION
# tile["visibility"] = true
# for z in range(1,INITIAL_GRID_SIZE_HEIGHT-1):
# for x in INITIAL_GRID_SIZE_WIDTH:
# tile = _debug_map[x][INITIAL_GRID_SIZE_LENGTH-1][z]
# tile["atlas_position"] = GREEN_ISOMETRICTILE_ATLAS_POSITION
# tile["visibility"] = true
# for z in range(1,INITIAL_GRID_SIZE_HEIGHT-1):
# for y in range(1,INITIAL_GRID_SIZE_LENGTH-1):
# tile = _debug_map[0][y][z]
# tile["atlas_position"] = BLACK_ISOMETRICTILE_ATLAS_POSITION
# tile["visibility"] = true
# for z in range(1,INITIAL_GRID_SIZE_HEIGHT-1):
# for y in range(1,INITIAL_GRID_SIZE_LENGTH-1):
# tile = _debug_map[INITIAL_GRID_SIZE_WIDTH-1][y][z]
# tile["atlas_position"] = RED_ISOMETRICTILE_ATLAS_POSITION
# tile["visibility"] = true
GRID_SIZE_WIDTH = INITIAL_GRID_SIZE_WIDTH # play area size x
@ -357,10 +367,79 @@ func draw_visible_tiles():
isometric_map_layers[z].set_cell(
Vector2i(tile["x"], tile["y"]),
MAIN_SOURCE_ID,
tile["atlas_position"]
tile["atlas_base_position"]
)
var highlighted_tiles = {} # Dictionary to store all currently highlighted tiles
func isometric_grid_hover():
var hover_tile_position = isometric_map_layers[0].local_to_map(get_global_mouse_position())
var new_highlighted_tiles = {} # Will store tiles to highlight this frame
# First find all tiles that should be highlighted
for z in GRID_SIZE_HEIGHT:
for x in GRID_SIZE_WIDTH:
for y in GRID_SIZE_LENGTH:
var tile = debug_map[x][y][z]
if tile != null and tile["visibility"]:
if tile["x"] == hover_tile_position.x and tile["y"] == hover_tile_position.y:
# Store this tile for highlighting
var tile_key = str(x) + "_" + str(y) + "_" + str(z)
new_highlighted_tiles[tile_key] = {
"x": x,
"y": y,
"z": z
}
# Highlight new tiles
for tile_key in new_highlighted_tiles:
var tile_data = new_highlighted_tiles[tile_key]
var tile = debug_map[tile_data.x][tile_data.y][tile_data.z]
if not tile["selected"]:
isometric_map_layers[tile_data.z].set_cell(
Vector2i(tile["x"], tile["y"]),
MAIN_SOURCE_ID,
tile["atlas_highlight_position"]
)
else:
isometric_map_layers[tile_data.z].set_cell(
Vector2i(tile["x"], tile["y"]),
1,
Vector2i(3,1) #
)
tile["highlighted"] = true
# De-highlight tiles that are no longer under the cursor
for tile_key in highlighted_tiles:
if not (tile_key in new_highlighted_tiles):
var tile_data = highlighted_tiles[tile_key]
var tile = debug_map[tile_data.x][tile_data.y][tile_data.z]
if tile != null and tile["visibility"]:
if not tile["selected"]:
isometric_map_layers[tile_data.z].set_cell(
Vector2i(tile["x"], tile["y"]),
MAIN_SOURCE_ID,
tile["atlas_base_position"] # Original appearance
)
else:
isometric_map_layers[tile_data.z].set_cell(
Vector2i(tile["x"], tile["y"]),
1,
Vector2i(0,1) #
)
tile["highlighted"] = false
# Update the highlighted tiles list
highlighted_tiles = new_highlighted_tiles
func _ready() -> void:
# Store initial camera position
initial_camera_position = camera.position
@ -368,10 +447,16 @@ func _ready() -> void:
initialize_map_layers()
draw_visible_tiles()
func _process(delta: float) -> void:
pass
# isometric_grid_hover()
func _input(event):
if event is InputEventMouseMotion:
isometric_grid_hover()
# Camera drag (pan) control
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_LEFT:
if event.button_index == MOUSE_BUTTON_RIGHT:
if event.pressed:
drag_start = event.position
drag_active = true
@ -379,9 +464,9 @@ func _input(event):
drag_active = false
# Zoom control with mouse wheel
if event.button_index == MOUSE_BUTTON_WHEEL_UP:
if event.button_index == MOUSE_BUTTON_WHEEL_DOWN:
zoom_camera(-zoom_speed)
elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN:
elif event.button_index == MOUSE_BUTTON_WHEEL_UP:
zoom_camera(zoom_speed)
# Handle camera movement while dragging
@ -403,31 +488,90 @@ func zoom_camera(zoom_amount):
camera.zoom = Vector2(new_zoom, new_zoom)
func _on_cw_pressed() -> void:
_reset_class_values()
rotate_map_around_z_axis(3)
initialize_map_layers()
draw_visible_tiles()
func _on_ccw_pressed() -> void:
_reset_class_values()
rotate_map_around_z_axis(1)
initialize_map_layers()
draw_visible_tiles()
func _on_x_cw_pressed() -> void:
_reset_class_values()
rotate_map_around_x_axis(1)
initialize_map_layers()
draw_visible_tiles()
func _on_x_ccw_pressed() -> void:
_reset_class_values()
rotate_map_around_x_axis(3)
initialize_map_layers()
draw_visible_tiles()
func _on_y_cw_pressed() -> void:
_reset_class_values()
rotate_map_around_y_axis(3)
initialize_map_layers()
draw_visible_tiles()
func _on_y_ccw_pressed() -> void:
_reset_class_values()
rotate_map_around_y_axis(1)
initialize_map_layers()
draw_visible_tiles()
func _reset_class_values():
highlighted_tiles = {}
last_click_time = 0.0
clicked_position = Vector2i(1, 1)
is_tile_selected = false
var click_delay: float = 0.2
var last_click_time: float = 0.0
var clicked_position: Vector2i = Vector2i(1, 1)
var is_tile_selected: bool = false
func tile_selction_logic(position: Vector2i):
for z in GRID_SIZE_HEIGHT:
for x in GRID_SIZE_WIDTH:
for y in GRID_SIZE_LENGTH:
var tile = debug_map[x][y][z]
if tile["selected"] and tile["highlighted"]:
isometric_map_layers[z].set_cell(
Vector2i(tile["x"], tile["y"]),
1,
Vector2i(0,1) #
)
tile["selected"] = false
if tile["selected"] and not tile["highlighted"]:
isometric_map_layers[z].set_cell(
Vector2i(tile["x"], tile["y"]),
0,
Vector2i(0,0) #
)
tile["selected"] = false
if not tile["selected"] and tile["highlighted"]:
isometric_map_layers[z].set_cell(
Vector2i(tile["x"], tile["y"]),
1,
Vector2i(3,1) #
)
tile["selected"] = true
func _unhandled_input(event: InputEvent) -> void:
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
var current_time = Time.get_ticks_msec() / 1000.0
if current_time - last_click_time >= click_delay:
last_click_time = current_time
var new_clicked_position = isometric_map_layers[0].local_to_map(get_global_mouse_position())
tile_selction_logic(new_clicked_position)
elif event is InputEventKey and event.pressed and event.keycode == KEY_ESCAPE:
pass
#deselect_tile()

View File

@ -12,7 +12,7 @@ func _process(delta):
func _on_start_button_pressed():
get_tree().change_scene_to_file("res://scenes/isometric_map_layer_holder.tscn")
get_tree().change_scene_to_file("res://scenes/debug_level.tscn")
func _on_option_button_pressed():

12
scripts/player.gd Normal file
View File

@ -0,0 +1,12 @@
extends CharacterBody2D
@onready var collision_shape_2d: CollisionShape2D = $CollisionShape2D
@onready var animated_sprite: AnimatedSprite2D = $AnimatedSprite2D
func _process(delta: float):
play_idle_animation()
func play_idle_animation():
animated_sprite.play("down")

1
scripts/player.gd.uid Normal file
View File

@ -0,0 +1 @@
uid://jfojoaymauh2