Просмотр исходного кода

Use TileMapLayer in Dynamic TileMap Layers (#1133)

TileMap is deprecated in 4.3 as TileMapLayer supersedes it.

Co-authored-by: Hugo Locurcio <[email protected]>
Yaxian 9 месяцев назад
Родитель
Сommit
1e02914267

+ 6 - 13
2d/dynamic_tilemap_layers/level/tile_map.gd

@@ -1,16 +1,9 @@
-extends TileMap
+extends TileMapLayer
 
 
 # You can have multiple layers if you make this an array.
 # You can have multiple layers if you make this an array.
-var secret_layer := 0
 var player_in_secret := false
 var player_in_secret := false
 var layer_alpha := 1.0
 var layer_alpha := 1.0
 
 
-func _init() -> void:
-	for i in get_layers_count():
-		# Find the secret layer by name.
-		if get_layer_name(i) == "Secret":
-			secret_layer = i
-
 
 
 func _ready() -> void:
 func _ready() -> void:
 	set_process(false)
 	set_process(false)
@@ -21,22 +14,22 @@ func _process(delta: float) -> void:
 		if layer_alpha > 0.3:
 		if layer_alpha > 0.3:
 			# Animate the layer transparency.
 			# Animate the layer transparency.
 			layer_alpha = move_toward(layer_alpha, 0.3, delta)
 			layer_alpha = move_toward(layer_alpha, 0.3, delta)
-			set_layer_modulate(secret_layer, Color(1, 1, 1, layer_alpha))
+			self_modulate = Color(1, 1, 1, layer_alpha)
 		else:
 		else:
 			set_process(false)
 			set_process(false)
 	else:
 	else:
 		if layer_alpha < 1.0:
 		if layer_alpha < 1.0:
 			layer_alpha = move_toward(layer_alpha, 1.0, delta)
 			layer_alpha = move_toward(layer_alpha, 1.0, delta)
-			set_layer_modulate(secret_layer, Color(1, 1, 1, layer_alpha))
+			self_modulate = Color(1, 1, 1, layer_alpha)
 		else:
 		else:
 			set_process(false)
 			set_process(false)
 
 
 
 
-func _use_tile_data_runtime_update(layer: int, _coords: Vector2i) -> bool:
-	return layer == secret_layer
+func _use_tile_data_runtime_update(_coords: Vector2i) -> bool:
+	return true
 
 
 
 
-func _tile_data_runtime_update(_layer: int, _coords: Vector2i, tile_data: TileData) -> void:
+func _tile_data_runtime_update(_coords: Vector2i, tile_data: TileData) -> void:
 	# Remove collision for secret layer.
 	# Remove collision for secret layer.
 	tile_data.set_collision_polygons_count(0, 0)
 	tile_data.set_collision_polygons_count(0, 0)
 
 

+ 8 - 8
2d/dynamic_tilemap_layers/player/player.tscn

@@ -1,17 +1,17 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=4 format=3 uid="uid://1o70ce0fv10w"]
 
 
-[ext_resource path="res://player/player.gd" type="Script" id=1]
-[ext_resource path="res://player/player.png" type="Texture2D" id=2]
+[ext_resource type="Script" path="res://player/player.gd" id="1"]
+[ext_resource type="Texture2D" uid="uid://dfb8rr2fakwgp" path="res://player/player.png" id="2"]
 
 
-[sub_resource type="RectangleShape2D" id=1]
-extents = Vector2(7, 7)
+[sub_resource type="RectangleShape2D" id="1"]
+size = Vector2(14, 14)
 
 
 [node name="Player" type="CharacterBody2D"]
 [node name="Player" type="CharacterBody2D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
 
 
 [node name="Sprite2D" type="Sprite2D" parent="."]
 [node name="Sprite2D" type="Sprite2D" parent="."]
-texture = ExtResource( 2 )
+texture = ExtResource("2")
 
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
 position = Vector2(-0.315559, 0.157784)
 position = Vector2(-0.315559, 0.157784)
-shape = SubResource( 1 )
+shape = SubResource("1")

Разница между файлами не показана из-за своего большого размера
+ 4 - 4
2d/dynamic_tilemap_layers/world.tscn


Некоторые файлы не были показаны из-за большого количества измененных файлов