Add hazard spikes on the tree tops (grey spikes from the tileset atlas)
The two new spikes were painted as tiles in TerrainBase, but tileset collision can only make a solid wall, not a damaging hazard. Replaced them with a real spikes_grey prefab that uses the same atlas tile (8,3) plus hazard.gd, and erases the placeholder tile on ready. Also includes the level edits made in the editor (top-left terrain rework).
This commit is contained in:
+13
-4
@@ -13,12 +13,13 @@
|
||||
[ext_resource type="Script" uid="uid://dxwa7fxghp3a2" path="res://scripts/hidden_passages.gd" id="19_hidden"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/hud.tscn" id="21_hud"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/death_screen.tscn" id="22_death"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/prefabs/hazards/spikes_grey.tscn" id="23_spikesgrey"]
|
||||
|
||||
[node name="Main" type="Node2D" unique_id=2061129075]
|
||||
|
||||
[node name="HUD" parent="." instance=ExtResource("21_hud")]
|
||||
[node name="HUD" parent="." unique_id=215179112 instance=ExtResource("21_hud")]
|
||||
|
||||
[node name="DeathScreen" parent="." instance=ExtResource("22_death")]
|
||||
[node name="DeathScreen" parent="." unique_id=1952687359 instance=ExtResource("22_death")]
|
||||
|
||||
[node name="Level" type="Node2D" parent="." unique_id=1678372922]
|
||||
|
||||
@@ -154,13 +155,13 @@ script = ExtResource("19_hidden")
|
||||
|
||||
[node name="TerrainBase" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=91115499]
|
||||
position = Vector2(9, 9)
|
||||
tile_map_data = PackedByteArray("AAAAAAAAAAAEAAUAAAABAAAAAAACAAYAAAACAAAAAAAEAAUAAAADAAAAAAAEAAUAAAAEAAAAAAACAAYAAAAFAAAAAAACAAYAAAAGAAAAAAADAAYAAAAAAAEAAAACAAYAAAABAAEAAAAEAAUAAAACAAEAAAAEAAUAAAADAAEAAAACAAYAAAAEAAEAAAACAAYAAAAFAAEAAAAEAAUAAAAGAAEAAAADAAYAAAAMAAEAAAARAAAAAAANAAEAAAASAAAAAAAOAAEAAAATAAAAAAAAAAIAAAAEAAUAAAABAAIAAAACAAYAAAACAAIAAAAEAAUAAAADAAIAAAACAAYAAAAEAAIAAAAEAAUAAAAFAAIAAAAEAAAAAAAGAAIAAAADAAcAAAALAAIAAAARAAAAAAAMAAIAAAASAAEAAAANAAIAAAASAAEAAAAOAAIAAAATAAEAAAAAAAMAAAACAAYAAAABAAMAAAACAAYAAAACAAMAAAAEAAAAAAADAAMAAAACAAcAAAAEAAMAAAACAAcAAAAFAAMAAAADAAcAAAALAAMAAAARAAIAAAAMAAMAAAASAAEAAAANAAMAAAASAAEAAAAOAAMAAAATAAEAAAAVAAMAAAANAAcAAAAWAAMAAAAPAAcAAAAAAAQAAAACAAYAAAABAAQAAAAEAAUAAAACAAQAAAADAAYAAAAEAAQAAAAJAAMAAAAMAAQAAAARAAEAAAANAAQAAAASAAEAAAAOAAQAAAATAAEAAAABAAUAAAACAAcAAAACAAUAAAADAAcAAAAEAAUAAAAJAAQAAAAMAAUAAAARAAIAAAANAAUAAAARAAQAAAAOAAUAAAATAAIAAAAWAAUAAAALAAUAAAABAAYAAAAFAAYAADAEAAYAAAAJAAQAAAAIAAYAAAAJAAEAAAANAAYAAAAQAAQAAAAQAAYAAAANAAcAAAARAAYAAAAOAAcAAAASAAYAAAAPAAcAAAAUAAYAAAALAAIAAAAWAAYAAAALAAYAAAAXAAYAAAAFAAcAAAACAAcAAAAJAAYAAAAEAAcAAAAJAAUAAAAGAAcAAAAIAAQAAAANAAcAAAAQAAUAAAAUAAcAAAALAAMAAAAVAAcAAAABAAUAAAAWAAcAAAACAAUAAAAXAAcAAAADAAUAAAAYAAcAAAAGAAUAAAAZAAcAAAAGAAUAAAACAAgAAAABAAEAAAADAAgAAAACAAEAAAAEAAgAAAACAAEAAAAFAAgAAAACAAEAAAAGAAgAAAADAAEAAAAKAAgAAAAHAAEAAAAMAAgAAAASAAUAAAANAAgAAAARAAUAAAAOAAgAAAATAAQAABAPAAgAAAASAAQAABAUAAgAAAALAAMAAAAVAAgAAAABAAYAAAAWAAgAAAACAAYAAAAXAAgAAAAEAAEAAAAYAAgAAAACAAUAAAAZAAgAAAACAAUAAAAAAAkAAAACAAEAAAABAAkAAAACAAEAAAACAAkAAAAFAAEAAAADAAkAAAACAAYAAAAEAAkAAAACAAYAAAAFAAkAAAACAAYAAAAGAAkAAAADAAYAAAANAAkAAAAQAAUAAAASAAkAAAAGAAcAAAAUAAkAAAABAAUAAAAVAAkAAAAFAAEAAAAWAAkAAAAEAAUAAAAXAAkAAAACAAYAAAAYAAkAAAACAAYAAAAZAAkAAAACAAYAAAAAAAoAAAAEAAUAAAABAAoAAAACAAYAAAACAAoAAAACAAYAAAADAAoAAAACAAYAAAAEAAoAAAAEAAUAAAAFAAoAAAACAAYAAAAGAAoAAAAEAAEAAAAHAAoAAAADAAEAAAAIAAoAAAAGAAUAAAANAAoAAAARAAYAAAAPAAoAAAAHAAYAAAARAAoAAAAKAAUAAAATAAoAAAAEAAcAAAAUAAoAAAABAAYAAAAVAAoAAAACAAYAAAAWAAoAAAACAAYAAAAXAAoAAAACAAYAAAAYAAoAAAACAAYAAAAZAAoAAAACAAYAAAAAAAsAAAAEAAUAAAABAAsAAAACAAYAAAACAAsAAAAEAAUAAAADAAsAAAAEAAUAAAAEAAsAAAACAAYAAAAFAAsAAAAEAAUAAAAGAAsAAAACAAYAAAAHAAsAAAAEAAEAAAAIAAsAAAADAAEAAAAKAAsAAAAEAAYAAAAMAAsAAAABAAEAAAANAAsAAAACAAEAAAAOAAsAAAACAAMAAAAPAAsAAAADAAMAAAARAAsAAAAKAAYAAAATAAsAAAABAAUAAAAUAAsAAAAFAAEAAAAVAAsAAAACAAYAAAAWAAsAAAAEAAUAAAAXAAsAAAAEAAUAAAAYAAsAAAAEAAUAAAAZAAsAAAACAAYAAAAAAAwAAAACAAYAAAABAAwAAAACAAYAAAACAAwAAAACAAYAAAADAAwAAAAEAAUAAAAEAAwAAAACAAYAAAAFAAwAAAAEAAUAAAAGAAwAAAAEAAUAAAAHAAwAAAAEAAUAAAAIAAwAAAAEAAEAAAAJAAwAAAACAAEAAAAKAAwAAAACAAEAAAALAAwAAAACAAEAAAAMAAwAAAAFAAEAAAANAAwAAAAEAAUAAAAOAAwAAAAEAAUAAAAPAAwAAAAEAAEAAAAQAAwAAAACAAMAAAARAAwAAAACAAMAAAASAAwAAAACAAMAAAATAAwAAAAFAAEAAAAUAAwAAAACAAYAAAAVAAwAAAAEAAUAAAAWAAwAAAACAAYAAAAXAAwAAAAEAAUAAAAYAAwAAAAEAAUAAAAZAAwAAAACAAYAAAAAAA0AAAAEAAUAAAABAA0AAAACAAYAAAACAA0AAAAEAAUAAAADAA0AAAACAAYAAAAEAA0AAAACAAYAAAAFAA0AAAAEAAUAAAAGAA0AAAACAAYAAAAHAA0AAAACAAYAAAAIAA0AAAAEAAUAAAAJAA0AAAACAAYAAAAKAA0AAAAEAAUAAAALAA0AAAAEAAUAAAAMAA0AAAACAAYAAAANAA0AAAACAAYAAAAOAA0AAAAEAAUAAAAPAA0AAAAEAAUAAAAQAA0AAAAEAAUAAAARAA0AAAACAAYAAAASAA0AAAACAAYAAAATAA0AAAAEAAUAAAAUAA0AAAACAAYAAAAVAA0AAAACAAYAAAAWAA0AAAACAAYAAAAXAA0AAAAEAAUAAAAYAA0AAAACAAYAAAAZAA0AAAAEAAUAAAAAAA4AAAACAAYAAAABAA4AAAACAAYAAAACAA4AAAAEAAUAAAADAA4AAAACAAYAAAAEAA4AAAAEAAUAAAAFAA4AAAACAAYAAAAGAA4AAAAEAAUAAAAHAA4AAAAEAAUAAAAIAA4AAAAEAAUAAAAJAA4AAAAEAAUAAAAKAA4AAAAEAAUAAAALAA4AAAAEAAUAAAAMAA4AAAACAAYAAAANAA4AAAACAAYAAAAOAA4AAAACAAYAAAAPAA4AAAACAAYAAAAQAA4AAAAEAAUAAAARAA4AAAACAAYAAAASAA4AAAACAAYAAAATAA4AAAACAAYAAAAUAA4AAAACAAYAAAAVAA4AAAACAAYAAAAWAA4AAAAEAAUAAAAXAA4AAAAEAAUAAAAYAA4AAAACAAYAAAAZAA4AAAAEAAUAAAD//wkAAAACAAEAAAD//woAAAAEAAAAAAD//wsAAAAEAAAAAAD//wwAAAAFAAAAAAD//wQAAAAFAAAAAAD//wIAAAAFAAAAAAD//wMAAAAFAAAAAAD//wEAAAAFAAAAAAD//wAAAAAFAAAAAAAAAAUAAAACAAcAAAD//wUAAAACAAcAAAD//w0AAAAEAAEAAAD//w4AAAAEAAEAAAD//wYAAAAJAAAAAAD//wcAAAAJAAAAAAD//wgAAAAJAAAAAAAKAAkAAAAJAAEAAAAVAAIAAAAKAAAAAAA=")
|
||||
tile_map_data = PackedByteArray("AAAAAAEAAAABAAUAAAAEAAEAAAABAAUAAAAFAAEAAAACAAUAAAAGAAEAAAADAAUAAAAMAAEAAAARAAAAAAANAAEAAAASAAAAAAAOAAEAAAATAAAAAAAAAAIAAAAEAAUAAAADAAIAAAABAAUAAAAEAAIAAAAEAAUAAAAFAAIAAAAEAAAAAAAGAAIAAAADAAcAAAALAAIAAAARAAAAAAAMAAIAAAASAAEAAAANAAIAAAASAAEAAAAOAAIAAAATAAEAAAAAAAMAAAACAAYAAAADAAMAAAACAAcAAAAEAAMAAAACAAcAAAAFAAMAAAADAAcAAAALAAMAAAARAAIAAAAMAAMAAAASAAEAAAANAAMAAAASAAEAAAAOAAMAAAATAAEAAAAVAAMAAAANAAcAAAAWAAMAAAAPAAcAAAAAAAQAAAACAAYAAAAEAAQAAAAJAAMAAAAMAAQAAAARAAEAAAANAAQAAAASAAEAAAAOAAQAAAATAAEAAAAEAAUAAAAJAAQAAAAMAAUAAAARAAIAAAANAAUAAAARAAQAAAAOAAUAAAATAAIAAAAWAAUAAAALAAUAAAAEAAYAAAAJAAQAAAAIAAYAAAAJAAEAAAANAAYAAAAQAAQAAAAQAAYAAAANAAcAAAARAAYAAAAOAAcAAAASAAYAAAAPAAcAAAAUAAYAAAALAAIAAAAWAAYAAAALAAYAAAAXAAYAAAAFAAcAAAACAAcAAAABAAEAAAAEAAcAAAAJAAUAAAAGAAcAAAAIAAQAAAANAAcAAAAQAAUAAAAUAAcAAAALAAMAAAAVAAcAAAABAAUAAAAWAAcAAAACAAUAAAAXAAcAAAADAAUAAAAYAAcAAAAGAAUAAAAZAAcAAAAGAAUAAAACAAgAAAABAAYAAAADAAgAAAACAAYAAAAEAAgAAAACAAEAAAAFAAgAAAACAAEAAAAGAAgAAAADAAEAAAAKAAgAAAAHAAEAAAAMAAgAAAASAAUAAAANAAgAAAARAAUAAAAOAAgAAAATAAQAABAPAAgAAAASAAQAABAUAAgAAAALAAMAAAAVAAgAAAABAAYAAAAWAAgAAAACAAYAAAAXAAgAAAAEAAEAAAAYAAgAAAACAAUAAAAZAAgAAAACAAUAAAAAAAkAAAACAAEAAAABAAkAAAACAAEAAAACAAkAAAAFAAEAAAADAAkAAAACAAYAAAAEAAkAAAACAAYAAAAFAAkAAAACAAYAAAAGAAkAAAADAAYAAAANAAkAAAAQAAUAAAASAAkAAAAGAAcAAAAUAAkAAAABAAUAAAAVAAkAAAAFAAEAAAAWAAkAAAAEAAUAAAAXAAkAAAACAAYAAAAYAAkAAAACAAYAAAAZAAkAAAACAAYAAAAAAAoAAAAEAAUAAAABAAoAAAACAAYAAAACAAoAAAACAAYAAAADAAoAAAACAAYAAAAEAAoAAAAEAAUAAAAFAAoAAAACAAYAAAAGAAoAAAAEAAEAAAAHAAoAAAADAAEAAAAIAAoAAAAGAAUAAAANAAoAAAARAAYAAAAPAAoAAAAHAAYAAAARAAoAAAAKAAUAAAATAAoAAAAEAAcAAAAUAAoAAAABAAYAAAAVAAoAAAACAAYAAAAWAAoAAAACAAYAAAAXAAoAAAACAAYAAAAYAAoAAAACAAYAAAAZAAoAAAACAAYAAAAAAAsAAAAEAAUAAAABAAsAAAACAAYAAAACAAsAAAAEAAUAAAADAAsAAAAEAAUAAAAEAAsAAAACAAYAAAAFAAsAAAAEAAUAAAAGAAsAAAACAAYAAAAHAAsAAAAEAAEAAAAIAAsAAAADAAEAAAAKAAsAAAAEAAYAAAAMAAsAAAABAAEAAAANAAsAAAACAAEAAAAOAAsAAAACAAMAAAAPAAsAAAADAAMAAAARAAsAAAAKAAYAAAATAAsAAAABAAUAAAAUAAsAAAAFAAEAAAAVAAsAAAACAAYAAAAWAAsAAAAEAAUAAAAXAAsAAAAEAAUAAAAYAAsAAAAEAAUAAAAZAAsAAAACAAYAAAAAAAwAAAACAAYAAAABAAwAAAACAAYAAAACAAwAAAACAAYAAAADAAwAAAAEAAUAAAAEAAwAAAACAAYAAAAFAAwAAAAEAAUAAAAGAAwAAAAEAAUAAAAHAAwAAAAEAAUAAAAIAAwAAAAEAAEAAAAJAAwAAAACAAEAAAAKAAwAAAACAAEAAAALAAwAAAACAAEAAAAMAAwAAAAFAAEAAAANAAwAAAAEAAUAAAAOAAwAAAAEAAUAAAAPAAwAAAAEAAEAAAAQAAwAAAACAAMAAAARAAwAAAACAAMAAAASAAwAAAACAAMAAAATAAwAAAAFAAEAAAAUAAwAAAACAAYAAAAVAAwAAAAEAAUAAAAWAAwAAAACAAYAAAAXAAwAAAAEAAUAAAAYAAwAAAAEAAUAAAAZAAwAAAACAAYAAAAAAA0AAAAEAAUAAAABAA0AAAACAAYAAAACAA0AAAAEAAUAAAADAA0AAAACAAYAAAAEAA0AAAACAAYAAAAFAA0AAAAEAAUAAAAGAA0AAAACAAYAAAAHAA0AAAACAAYAAAAIAA0AAAAEAAUAAAAJAA0AAAACAAYAAAAKAA0AAAAEAAUAAAALAA0AAAAEAAUAAAAMAA0AAAACAAYAAAANAA0AAAACAAYAAAAOAA0AAAAEAAUAAAAPAA0AAAAEAAUAAAAQAA0AAAAEAAUAAAARAA0AAAACAAYAAAASAA0AAAACAAYAAAATAA0AAAAEAAUAAAAUAA0AAAACAAYAAAAVAA0AAAACAAYAAAAWAA0AAAACAAYAAAAXAA0AAAAEAAUAAAAYAA0AAAACAAYAAAAZAA0AAAAEAAUAAAAAAA4AAAACAAYAAAABAA4AAAACAAYAAAACAA4AAAAEAAUAAAADAA4AAAACAAYAAAAEAA4AAAAEAAUAAAAFAA4AAAACAAYAAAAGAA4AAAAEAAUAAAAHAA4AAAAEAAUAAAAIAA4AAAAEAAUAAAAJAA4AAAAEAAUAAAAKAA4AAAAEAAUAAAALAA4AAAAEAAUAAAAMAA4AAAACAAYAAAANAA4AAAACAAYAAAAOAA4AAAACAAYAAAAPAA4AAAACAAYAAAAQAA4AAAAEAAUAAAARAA4AAAACAAYAAAASAA4AAAACAAYAAAATAA4AAAACAAYAAAAUAA4AAAACAAYAAAAVAA4AAAACAAYAAAAWAA4AAAAEAAUAAAAXAA4AAAAEAAUAAAAYAA4AAAACAAYAAAAZAA4AAAAEAAUAAAD//wkAAAACAAEAAAD//woAAAAEAAAAAAD//wsAAAAEAAAAAAD//wwAAAAFAAAAAAD//wQAAAAFAAAAAAD//wIAAAAFAAAAAAD//wMAAAAFAAAAAAD//wEAAAACAAUAAAAAAAUAAAACAAcAAAD//wUAAAACAAcAAAD//w0AAAAEAAEAAAD//w4AAAAEAAEAAAD//wYAAAAJAAAAAAD//wcAAAAJAAAAAAD//wgAAAAJAAAAAAAKAAkAAAAJAAEAAAAVAAIAAAAKAAAAAAABAAUAAAADAAcAAAABAAQAAAADAAUAAAADAAcAAAADAAEAAAANAAAAAAAIAAMAAAAOAAAAAAAIAAMAAAA=")
|
||||
tile_set = ExtResource("5_4etix")
|
||||
|
||||
[node name="TerrainDetailsA" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=1513560262]
|
||||
z_index = 1
|
||||
position = Vector2(9, 9)
|
||||
tile_map_data = PackedByteArray("AAAAAAAAAAACAAYAAAABAAAAAAADAAYAAAAAAAEAAAACAAYAAAABAAEAAAADAAYAAAAAAAIAAAACAAcAAAABAAIAAAADAAcAAAAOAAIAAAARAAAAAAAPAAIAAAASAAAAAAAQAAIAAAATAAAAAAABAAMAAAAEAAYAADAKAAMAAAARAAAAAAALAAMAAAASAAAAAAAMAAMAAAATAAAAAAAOAAMAAAARAAEAAAAPAAMAAAASAAEAAAAQAAMAAAATAAEAAAAKAAQAAAARAAIAAAALAAQAAAASAAIAAAAMAAQAAAATAAIAAAAOAAQAAAARAAIAAAAPAAQAAAASAAIAAAAQAAQAAAATAAIAAAACAAoAAAAIAAYAAAAWAAoAAAAEAAcAAAABAAsAAAABAAEAAAACAAsAAAACAAEAAAADAAsAAAADAAEAAAAVAAsAAAABAAUAAAAWAAsAAAACAAUAAAAXAAsAAAADAAUAAAABAAwAAAABAAYAAAACAAwAAAACAAYAAAADAAwAAAADAAYAAAAOAAwAAAAEAAYAAAAVAAwAAAABAAYAAAAWAAwAAAAEAAUAAAAXAAwAAAADAAYAAAABAA0AAAABAAYAAAACAA0AAAAEAAUAAAADAA0AAAADAAYAAAANAA0AAAABAAMAAAAOAA0AAAACAAMAAAAPAA0AAAACAAMAAAAQAA0AAAADAAMAAAAVAA0AAAABAAYAAAAWAA0AAAACAAYAAAAXAA0AAAADAAYAAAABAA4AAAABAAYAAAACAA4AAAACAAYAAAADAA4AAAADAAYAAAANAA4AAAABAAYAAAAOAA4AAAAEAAUAAAAPAA4AAAACAAYAAAAQAA4AAAADAAYAAAAVAA4AAAABAAYAAAAWAA4AAAAEAAUAAAAXAA4AAAADAAYAAAA=")
|
||||
tile_map_data = PackedByteArray("AAAOAAIAAAARAAAAAAAPAAIAAAASAAAAAAAQAAIAAAATAAAAAAAKAAMAAAARAAAAAAALAAMAAAASAAAAAAAMAAMAAAATAAAAAAAOAAMAAAARAAEAAAAPAAMAAAASAAEAAAAQAAMAAAATAAEAAAAKAAQAAAARAAIAAAALAAQAAAASAAIAAAAMAAQAAAATAAIAAAAOAAQAAAARAAIAAAAPAAQAAAASAAIAAAAQAAQAAAATAAIAAAACAAoAAAAIAAYAAAAWAAoAAAAEAAcAAAABAAsAAAABAAEAAAACAAsAAAACAAEAAAADAAsAAAADAAEAAAAVAAsAAAABAAUAAAAWAAsAAAACAAUAAAAXAAsAAAADAAUAAAABAAwAAAABAAYAAAACAAwAAAACAAYAAAADAAwAAAADAAYAAAAOAAwAAAAEAAYAAAAVAAwAAAABAAYAAAAWAAwAAAAEAAUAAAAXAAwAAAADAAYAAAABAA0AAAABAAYAAAACAA0AAAAEAAUAAAADAA0AAAADAAYAAAANAA0AAAABAAMAAAAOAA0AAAACAAMAAAAPAA0AAAACAAMAAAAQAA0AAAADAAMAAAAVAA0AAAABAAYAAAAWAA0AAAACAAYAAAAXAA0AAAADAAYAAAABAA4AAAABAAYAAAACAA4AAAACAAYAAAADAA4AAAADAAYAAAANAA4AAAABAAYAAAAOAA4AAAAEAAUAAAAPAA4AAAACAAYAAAAQAA4AAAADAAYAAAAVAA4AAAABAAYAAAAWAA4AAAAEAAUAAAAXAA4AAAADAAYAAAA=")
|
||||
tile_set = ExtResource("5_4etix")
|
||||
|
||||
[node name="TerrainDetailsB" type="TileMapLayer" parent="Level/TerrainTileMaps" unique_id=478648603]
|
||||
@@ -191,6 +192,14 @@ position = Vector2(270, 216)
|
||||
z_index = 5
|
||||
position = Vector2(216, 216)
|
||||
|
||||
[node name="SpikesGrey_01" parent="Level/PrefabInstances/Hazards" instance=ExtResource("23_spikesgrey")]
|
||||
z_index = 5
|
||||
position = Vector2(252, 18)
|
||||
|
||||
[node name="SpikesGrey_02" parent="Level/PrefabInstances/Hazards" instance=ExtResource("23_spikesgrey")]
|
||||
z_index = 5
|
||||
position = Vector2(270, 18)
|
||||
|
||||
[node name="Interactables" type="Node2D" parent="Level/PrefabInstances" unique_id=769532488]
|
||||
|
||||
[node name="SpringRed_01" parent="Level/PrefabInstances/Interactables" unique_id=34192139 instance=ExtResource("16_nih4k")]
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
[gd_scene load_steps=5 format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/game/tilesets/kenney_tiles_atlas.png" id="1_atlas"]
|
||||
[ext_resource type="Script" path="res://scripts/hazard.gd" id="2_hazard"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_spikes"]
|
||||
atlas = ExtResource("1_atlas")
|
||||
region = Rect2(144, 54, 18, 18)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="Shape_spikes"]
|
||||
size = Vector2(16, 8)
|
||||
|
||||
[node name="SpikesGrey" type="Area2D" groups=["hazard"]]
|
||||
collision_layer = 4
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_hazard")
|
||||
erase_placeholder_tile = true
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
texture = SubResource("AtlasTexture_spikes")
|
||||
|
||||
[node name="DetectionArea" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("Shape_spikes")
|
||||
+16
-1
@@ -1,14 +1,29 @@
|
||||
extends Area2D
|
||||
|
||||
## 尖刺:碰到就把角色打回出生点。
|
||||
## 尖刺:碰到就把角色打回出生点、扣一颗心。
|
||||
## 碰撞掩码已经限制成只检测玩家那一层,所以进到这里的一定是玩家。
|
||||
@export var damage: int = 1
|
||||
## 开场时把自己脚下那块占位地砖擦掉
|
||||
## (关卡里有些尖刺是直接画在地砖上的,换成真正的尖刺对象后要把它擦掉,避免重叠)
|
||||
@export var erase_placeholder_tile: bool = false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
body_entered.connect(_on_body_entered)
|
||||
if erase_placeholder_tile:
|
||||
_erase_placeholder_tile()
|
||||
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
if body.has_method("hurt"):
|
||||
body.hurt(damage)
|
||||
|
||||
|
||||
func _erase_placeholder_tile() -> void:
|
||||
var root: Node = owner if owner != null else get_parent()
|
||||
if root == null:
|
||||
return
|
||||
for layer in root.find_children("*", "TileMapLayer", true, false):
|
||||
var cell: Vector2i = layer.local_to_map(layer.to_local(global_position))
|
||||
if layer.get_cell_source_id(cell) != -1:
|
||||
layer.erase_cell(cell)
|
||||
|
||||
Reference in New Issue
Block a user