Tile Map hover
This commit is contained in:
parent
c7649e774b
commit
41654c78c7
290
lab.tscn
290
lab.tscn
@ -1,7 +1,8 @@
|
|||||||
[gd_scene load_steps=6 format=4 uid="uid://chkhsro6w06rg"]
|
[gd_scene load_steps=10 format=4 uid="uid://chkhsro6w06rg"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://chqegsqdgeq34" path="res://temp_res/kenney_tiny-town/Tilemap/tilemap_packed.png" id="1_qt51n"]
|
[ext_resource type="Texture2D" uid="uid://chqegsqdgeq34" path="res://temp_res/kenney_tiny-town/Tilemap/tilemap_packed.png" id="1_qt51n"]
|
||||||
[ext_resource type="Texture2D" uid="uid://e1wpflj415hp" path="res://temp_res/kenney_tiny-dungeon/Tilemap/tilemap_packed.png" id="1_yu0wa"]
|
[ext_resource type="Texture2D" uid="uid://e1wpflj415hp" path="res://temp_res/kenney_tiny-dungeon/Tilemap/tilemap_packed.png" id="1_yu0wa"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/TestMap.cs" id="3_mca7j"]
|
||||||
|
|
||||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_s736i"]
|
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_s736i"]
|
||||||
texture = ExtResource("1_yu0wa")
|
texture = ExtResource("1_yu0wa")
|
||||||
@ -277,8 +278,291 @@ texture = ExtResource("1_qt51n")
|
|||||||
sources/0 = SubResource("TileSetAtlasSource_s736i")
|
sources/0 = SubResource("TileSetAtlasSource_s736i")
|
||||||
sources/1 = SubResource("TileSetAtlasSource_ltoth")
|
sources/1 = SubResource("TileSetAtlasSource_ltoth")
|
||||||
|
|
||||||
|
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_fufp2"]
|
||||||
|
texture = ExtResource("1_yu0wa")
|
||||||
|
0:0/0 = 0
|
||||||
|
1:0/0 = 0
|
||||||
|
2:0/0 = 0
|
||||||
|
3:0/0 = 0
|
||||||
|
4:0/0 = 0
|
||||||
|
5:0/0 = 0
|
||||||
|
6:0/0 = 0
|
||||||
|
7:0/0 = 0
|
||||||
|
8:0/0 = 0
|
||||||
|
9:0/0 = 0
|
||||||
|
10:0/0 = 0
|
||||||
|
11:0/0 = 0
|
||||||
|
0:1/0 = 0
|
||||||
|
1:1/0 = 0
|
||||||
|
2:1/0 = 0
|
||||||
|
3:1/0 = 0
|
||||||
|
4:1/0 = 0
|
||||||
|
5:1/0 = 0
|
||||||
|
6:1/0 = 0
|
||||||
|
7:1/0 = 0
|
||||||
|
8:1/0 = 0
|
||||||
|
9:1/0 = 0
|
||||||
|
10:1/0 = 0
|
||||||
|
11:1/0 = 0
|
||||||
|
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
|
||||||
|
7:2/0 = 0
|
||||||
|
8:2/0 = 0
|
||||||
|
9:2/0 = 0
|
||||||
|
10:2/0 = 0
|
||||||
|
11: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
|
||||||
|
7:3/0 = 0
|
||||||
|
8:3/0 = 0
|
||||||
|
9:3/0 = 0
|
||||||
|
10:3/0 = 0
|
||||||
|
11:3/0 = 0
|
||||||
|
0:4/0 = 0
|
||||||
|
1:4/0 = 0
|
||||||
|
2:4/0 = 0
|
||||||
|
3:4/0 = 0
|
||||||
|
4:4/0 = 0
|
||||||
|
5:4/0 = 0
|
||||||
|
6:4/0 = 0
|
||||||
|
7:4/0 = 0
|
||||||
|
8:4/0 = 0
|
||||||
|
9:4/0 = 0
|
||||||
|
10:4/0 = 0
|
||||||
|
11:4/0 = 0
|
||||||
|
0:5/0 = 0
|
||||||
|
1:5/0 = 0
|
||||||
|
2:5/0 = 0
|
||||||
|
3:5/0 = 0
|
||||||
|
4:5/0 = 0
|
||||||
|
5:5/0 = 0
|
||||||
|
6:5/0 = 0
|
||||||
|
7:5/0 = 0
|
||||||
|
8:5/0 = 0
|
||||||
|
9:5/0 = 0
|
||||||
|
10:5/0 = 0
|
||||||
|
11:5/0 = 0
|
||||||
|
0:6/0 = 0
|
||||||
|
1:6/0 = 0
|
||||||
|
2:6/0 = 0
|
||||||
|
3:6/0 = 0
|
||||||
|
4:6/0 = 0
|
||||||
|
5:6/0 = 0
|
||||||
|
6:6/0 = 0
|
||||||
|
7:6/0 = 0
|
||||||
|
8:6/0 = 0
|
||||||
|
9:6/0 = 0
|
||||||
|
10:6/0 = 0
|
||||||
|
11:6/0 = 0
|
||||||
|
0:7/0 = 0
|
||||||
|
1:7/0 = 0
|
||||||
|
2:7/0 = 0
|
||||||
|
3:7/0 = 0
|
||||||
|
4:7/0 = 0
|
||||||
|
5:7/0 = 0
|
||||||
|
6:7/0 = 0
|
||||||
|
7:7/0 = 0
|
||||||
|
8:7/0 = 0
|
||||||
|
9:7/0 = 0
|
||||||
|
10:7/0 = 0
|
||||||
|
11:7/0 = 0
|
||||||
|
0:8/0 = 0
|
||||||
|
1:8/0 = 0
|
||||||
|
2:8/0 = 0
|
||||||
|
3:8/0 = 0
|
||||||
|
4:8/0 = 0
|
||||||
|
5:8/0 = 0
|
||||||
|
6:8/0 = 0
|
||||||
|
7:8/0 = 0
|
||||||
|
8:8/0 = 0
|
||||||
|
9:8/0 = 0
|
||||||
|
10:8/0 = 0
|
||||||
|
11:8/0 = 0
|
||||||
|
0:9/0 = 0
|
||||||
|
1:9/0 = 0
|
||||||
|
2:9/0 = 0
|
||||||
|
3:9/0 = 0
|
||||||
|
4:9/0 = 0
|
||||||
|
5:9/0 = 0
|
||||||
|
6:9/0 = 0
|
||||||
|
7:9/0 = 0
|
||||||
|
8:9/0 = 0
|
||||||
|
9:9/0 = 0
|
||||||
|
10:9/0 = 0
|
||||||
|
11:9/0 = 0
|
||||||
|
0:10/0 = 0
|
||||||
|
1:10/0 = 0
|
||||||
|
2:10/0 = 0
|
||||||
|
3:10/0 = 0
|
||||||
|
4:10/0 = 0
|
||||||
|
5:10/0 = 0
|
||||||
|
6:10/0 = 0
|
||||||
|
7:10/0 = 0
|
||||||
|
8:10/0 = 0
|
||||||
|
9:10/0 = 0
|
||||||
|
10:10/0 = 0
|
||||||
|
11:10/0 = 0
|
||||||
|
|
||||||
|
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_nuiiq"]
|
||||||
|
texture = ExtResource("1_qt51n")
|
||||||
|
0:0/0 = 0
|
||||||
|
1:0/0 = 0
|
||||||
|
2:0/0 = 0
|
||||||
|
3:0/0 = 0
|
||||||
|
4:0/0 = 0
|
||||||
|
5:0/0 = 0
|
||||||
|
6:0/0 = 0
|
||||||
|
7:0/0 = 0
|
||||||
|
8:0/0 = 0
|
||||||
|
9:0/0 = 0
|
||||||
|
10:0/0 = 0
|
||||||
|
11:0/0 = 0
|
||||||
|
0:1/0 = 0
|
||||||
|
1:1/0 = 0
|
||||||
|
2:1/0 = 0
|
||||||
|
3:1/0 = 0
|
||||||
|
4:1/0 = 0
|
||||||
|
5:1/0 = 0
|
||||||
|
6:1/0 = 0
|
||||||
|
7:1/0 = 0
|
||||||
|
8:1/0 = 0
|
||||||
|
9:1/0 = 0
|
||||||
|
10:1/0 = 0
|
||||||
|
11:1/0 = 0
|
||||||
|
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
|
||||||
|
7:2/0 = 0
|
||||||
|
8:2/0 = 0
|
||||||
|
9:2/0 = 0
|
||||||
|
10:2/0 = 0
|
||||||
|
11: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
|
||||||
|
7:3/0 = 0
|
||||||
|
8:3/0 = 0
|
||||||
|
9:3/0 = 0
|
||||||
|
10:3/0 = 0
|
||||||
|
11:3/0 = 0
|
||||||
|
0:4/0 = 0
|
||||||
|
1:4/0 = 0
|
||||||
|
2:4/0 = 0
|
||||||
|
3:4/0 = 0
|
||||||
|
4:4/0 = 0
|
||||||
|
5:4/0 = 0
|
||||||
|
6:4/0 = 0
|
||||||
|
7:4/0 = 0
|
||||||
|
8:4/0 = 0
|
||||||
|
9:4/0 = 0
|
||||||
|
10:4/0 = 0
|
||||||
|
11:4/0 = 0
|
||||||
|
0:5/0 = 0
|
||||||
|
1:5/0 = 0
|
||||||
|
2:5/0 = 0
|
||||||
|
3:5/0 = 0
|
||||||
|
4:5/0 = 0
|
||||||
|
5:5/0 = 0
|
||||||
|
6:5/0 = 0
|
||||||
|
7:5/0 = 0
|
||||||
|
8:5/0 = 0
|
||||||
|
9:5/0 = 0
|
||||||
|
10:5/0 = 0
|
||||||
|
11:5/0 = 0
|
||||||
|
0:6/0 = 0
|
||||||
|
1:6/0 = 0
|
||||||
|
2:6/0 = 0
|
||||||
|
3:6/0 = 0
|
||||||
|
4:6/0 = 0
|
||||||
|
5:6/0 = 0
|
||||||
|
6:6/0 = 0
|
||||||
|
7:6/0 = 0
|
||||||
|
8:6/0 = 0
|
||||||
|
9:6/0 = 0
|
||||||
|
10:6/0 = 0
|
||||||
|
11:6/0 = 0
|
||||||
|
0:7/0 = 0
|
||||||
|
1:7/0 = 0
|
||||||
|
2:7/0 = 0
|
||||||
|
3:7/0 = 0
|
||||||
|
4:7/0 = 0
|
||||||
|
5:7/0 = 0
|
||||||
|
6:7/0 = 0
|
||||||
|
7:7/0 = 0
|
||||||
|
8:7/0 = 0
|
||||||
|
9:7/0 = 0
|
||||||
|
10:7/0 = 0
|
||||||
|
11:7/0 = 0
|
||||||
|
0:8/0 = 0
|
||||||
|
1:8/0 = 0
|
||||||
|
2:8/0 = 0
|
||||||
|
3:8/0 = 0
|
||||||
|
4:8/0 = 0
|
||||||
|
5:8/0 = 0
|
||||||
|
6:8/0 = 0
|
||||||
|
7:8/0 = 0
|
||||||
|
8:8/0 = 0
|
||||||
|
9:8/0 = 0
|
||||||
|
10:8/0 = 0
|
||||||
|
11:8/0 = 0
|
||||||
|
0:9/0 = 0
|
||||||
|
1:9/0 = 0
|
||||||
|
2:9/0 = 0
|
||||||
|
3:9/0 = 0
|
||||||
|
4:9/0 = 0
|
||||||
|
5:9/0 = 0
|
||||||
|
6:9/0 = 0
|
||||||
|
7:9/0 = 0
|
||||||
|
8:9/0 = 0
|
||||||
|
9:9/0 = 0
|
||||||
|
10:9/0 = 0
|
||||||
|
11:9/0 = 0
|
||||||
|
0:10/0 = 0
|
||||||
|
1:10/0 = 0
|
||||||
|
2:10/0 = 0
|
||||||
|
3:10/0 = 0
|
||||||
|
4:10/0 = 0
|
||||||
|
5:10/0 = 0
|
||||||
|
6:10/0 = 0
|
||||||
|
7:10/0 = 0
|
||||||
|
8:10/0 = 0
|
||||||
|
9:10/0 = 0
|
||||||
|
10:10/0 = 0
|
||||||
|
11:10/0 = 0
|
||||||
|
|
||||||
|
[sub_resource type="TileSet" id="TileSet_4gmnq"]
|
||||||
|
sources/0 = SubResource("TileSetAtlasSource_fufp2")
|
||||||
|
sources/1 = SubResource("TileSetAtlasSource_nuiiq")
|
||||||
|
|
||||||
[node name="Lab" type="Node2D"]
|
[node name="Lab" type="Node2D"]
|
||||||
|
|
||||||
[node name="TileMapLayer" type="TileMapLayer" parent="."]
|
[node name="TestMap" type="TileMapLayer" parent="."]
|
||||||
tile_map_data = PackedByteArray("AAAEAAMAAAAAAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAGAAQAAAAAAAAAAAAHAAQAAAAAAAAAAAAIAAQAAAAAAAAAAAAJAAUAAAAAAAAAAAAKAAUAAAAAAAAAAAALAAUAAAAAAAAAAAAMAAUAAAAAAAAAAAAMAAYAAAAAAAAAAAAMAAcAAAAAAAAAAAANAAcAAAAAAAAAAAAOAAgAAAAAAAAAAAAPAAkAAAAAAAAAAAAQAAoAAAAAAAAAAAARAAsAAAAAAAAAAAASAAsAAAAAAAAAAAATAAwAAAAAAAAAAAAUAA0AAAAAAAAAAAAVAA4AAAAAAAAAAAAiABsAAAADAAIAAAAjABsAAAADAAIAAAAkABsAAAADAAIAAAAlABsAAAADAAIAAAAmABsAAAADAAIAAAAiABoAAAADAAIAAAAjABoAAAADAAIAAAAkABoAAAADAAIAAAAlABoAAAADAAIAAAAmABoAAAADAAIAAAAnABoAAAADAAIAAAAnABsAAAADAAIAAAA=")
|
scale = Vector2(10, 10)
|
||||||
|
tile_map_data = PackedByteArray("AAAAAAAAAAAGAAMAAAABAAAAAAAGAAMAAAACAAAAAAAGAAMAAAADAAAAAAAGAAMAAAAEAAAAAAAGAAMAAAAFAAAAAAAGAAMAAAAGAAAAAAAGAAMAAAAGAAEAAAAGAAMAAAAGAAIAAAAGAAMAAAAGAAMAAAAGAAMAAAAFAAMAAAAGAAMAAAAEAAMAAAAGAAMAAAADAAMAAAAGAAMAAAACAAMAAAAGAAMAAAABAAMAAAAGAAMAAAAAAAMAAAAGAAMAAAAAAAEAAAABAAQAAAABAAEAAAAAAAYAAAADAAEAAAAAAAYAAAACAAEAAAABAAQAAAAEAAEAAAABAAQAAAAAAAIAAAABAAQAAAABAAIAAAAAAAYAAAACAAIAAAABAAQAAAAEAAIAAAABAAQAAAADAAIAAAAAAAYAAAAFAAIAAAAAAAYAAAAFAAEAAAAAAAYAAAAHAAAAAAALAAYAAAAHAAEAAAALAAYAAAAHAAIAAAALAAYAAAAHAAMAAAALAAYAAAAHAAQAAAALAAcAAAAGAAQAAAAKAAUAAAAFAAQAAAAKAAUAAAAEAAQAAAAKAAUAAAADAAQAAAAKAAUAAAACAAQAAAAKAAUAAAABAAQAAAAKAAUAAAAAAAQAAAAKAAUAAAA=")
|
||||||
tile_set = SubResource("TileSet_8aks8")
|
tile_set = SubResource("TileSet_8aks8")
|
||||||
|
collision_visibility_mode = 1
|
||||||
|
|
||||||
|
[node name="Highlight" type="TileMapLayer" parent="."]
|
||||||
|
scale = Vector2(10, 10)
|
||||||
|
tile_map_data = PackedByteArray("AAAAAAAAAAACAAUAAAABAAAAAAACAAUAAAACAAAAAAACAAUAAAADAAAAAAACAAUAAAAEAAAAAAACAAUAAAAFAAAAAAACAAUAAAAGAAAAAAACAAUAAAAGAAEAAAACAAUAAAAFAAEAAAACAAUAAAAEAAEAAAACAAUAAAADAAEAAAACAAUAAAACAAEAAAACAAUAAAABAAEAAAACAAUAAAAAAAEAAAACAAUAAAAAAAIAAAACAAUAAAABAAIAAAACAAUAAAACAAIAAAACAAUAAAADAAIAAAACAAUAAAAEAAIAAAACAAUAAAAFAAIAAAACAAUAAAAGAAIAAAACAAUAAAAGAAMAAAACAAUAAAAFAAMAAAACAAUAAAAEAAMAAAACAAUAAAADAAMAAAACAAUAAAACAAMAAAACAAUAAAABAAMAAAACAAUAAAAAAAMAAAACAAUAAAA=")
|
||||||
|
tile_set = SubResource("TileSet_4gmnq")
|
||||||
|
collision_visibility_mode = 1
|
||||||
|
script = ExtResource("3_mca7j")
|
||||||
|
|||||||
@ -11,7 +11,7 @@ config_version=5
|
|||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="导师模拟器"
|
config/name="导师模拟器"
|
||||||
run/main_scene="res://node_2d.tscn"
|
run/main_scene="res://lab.tscn"
|
||||||
config/features=PackedStringArray("4.3", "C#", "GL Compatibility")
|
config/features=PackedStringArray("4.3", "C#", "GL Compatibility")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
@ -50,3 +50,7 @@ dialogic_default_action={
|
|||||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
|
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
textures/canvas_textures/default_texture_filter=0
|
||||||
|
|||||||
35
scripts/TestMap.cs
Normal file
35
scripts/TestMap.cs
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
using Godot;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
public partial class TestMap : TileMapLayer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The last cell that was highlighted. Used to avoid unnecessary updates.
|
||||||
|
/// </summary>
|
||||||
|
private Vector2I lastHighlightCell;
|
||||||
|
private readonly Vector2I highlightTileCoord = new(0, 5);
|
||||||
|
private readonly Vector2I vector2INegOne = new(-1, -1);
|
||||||
|
// Called when the node enters the scene tree for the first time.
|
||||||
|
public override void _Ready()
|
||||||
|
{
|
||||||
|
lastHighlightCell = vector2INegOne;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
public override void _Process(double delta)
|
||||||
|
{
|
||||||
|
Vector2 mousePos = GetLocalMousePosition();
|
||||||
|
Vector2I cell = LocalToMap(mousePos);
|
||||||
|
|
||||||
|
if (cell != lastHighlightCell)
|
||||||
|
{
|
||||||
|
if (lastHighlightCell != vector2INegOne)
|
||||||
|
{
|
||||||
|
EraseCell(lastHighlightCell);
|
||||||
|
}
|
||||||
|
lastHighlightCell = cell;
|
||||||
|
SetCell(cell, 0, highlightTileCoord);
|
||||||
|
GD.Print("Mouse is over cell: ", cell);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user