feat: 增加碰撞和空气墙

This commit is contained in:
2026-01-10 02:30:45 +08:00
parent 6a3823ad16
commit 13e6553748
5 changed files with 125 additions and 358 deletions

View File

@@ -0,0 +1,14 @@
[gd_scene load_steps=2 format=3 uid="uid://dscbaqkb1klwl"]
[ext_resource type="Texture2D" uid="uid://cle66our01dq1" path="res://assets/sprites/environment/community_512_512.png" id="1_jrtph"]
[node name="Community" type="StaticBody2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(4.7683716e-07, -336)
scale = Vector2(1.28125, 1.28125)
texture = ExtResource("1_jrtph")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
position = Vector2(152, 16)
polygon = PackedVector2Array(-456, -48, -192, -48, -192, -112, -120, -112, -120, -56, 168, -48, 168, -696, -472, -688, -472, -48)

View File

@@ -0,0 +1,13 @@
[gd_scene load_steps=2 format=3 uid="uid://bvfyllcy5fi8o"]
[ext_resource type="Texture2D" uid="uid://bxmbnywn7pd35" path="res://assets/sprites/environment/house_384_256.png" id="1_xrxds"]
[node name="DataWhaleHome" type="StaticBody2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(16, -160)
scale = Vector2(1.2916666, 1.2812501)
texture = ExtResource("1_xrxds")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PackedVector2Array(-216, -96, -216, -96, 200, -96, 200, -32, 192, -32, 192, 0, 72, 0, 72, -16, 48, -16, 48, -32, 48, -40, -40, -40, -48, -24, -64, -16, -72, -16, -80, 0, -200, 0, -200, -32, -216, -32)

14
scenes/Maps/fountain.tscn Normal file
View File

@@ -0,0 +1,14 @@
[gd_scene load_steps=2 format=3 uid="uid://vq5qgk3k6t7e"]
[ext_resource type="Texture2D" uid="uid://dujutnr03apoj" path="res://assets/sprites/environment/fountain_256_192.png" id="1_utxq6"]
[node name="Fountain" type="StaticBody2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(0, -128)
scale = Vector2(1.3125001, 1.3061225)
texture = ExtResource("1_utxq6")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
position = Vector2(-8, 16)
polygon = PackedVector2Array(-64, -80, -104, -112, -112, -152, -96, -192, -88, -216, -64, -216, -24, -224, -16, -256, 32, -248, 24, -216, 32, -216, 40, -240, 56, -224, 72, -232, 72, -208, 96, -216, 104, -208, 120, -160, 128, -128, 96, -96, 80, -112, 0, -88, -48, -104, -64, -88)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=7 format=4 uid="uid://npn1yjrhdwwx"] [gd_scene load_steps=10 format=4 uid="uid://npn1yjrhdwwx"]
[ext_resource type="Texture2D" uid="uid://bjcij2ncikeyw" path="res://assets/sprites/environment/room_512_384.png" id="1_gnxaf"] [ext_resource type="Texture2D" uid="uid://bjcij2ncikeyw" path="res://assets/sprites/environment/room_512_384.png" id="1_gnxaf"]
[ext_resource type="PackedScene" uid="uid://b2f8e24plwqgj" path="res://scenes/characters/player.tscn" id="2_shs2d"] [ext_resource type="PackedScene" uid="uid://b2f8e24plwqgj" path="res://scenes/characters/player.tscn" id="2_shs2d"]
@@ -671,6 +671,15 @@ sources/0 = SubResource("TileSetAtlasSource_shs2d")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_pywo5"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_pywo5"]
size = Vector2(68, 36) size = Vector2(68, 36)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_y0jqb"]
size = Vector2(15, 307)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2vx7m"]
size = Vector2(500.5, 121)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_x8d2w"]
size = Vector2(215, 12.5)
[node name="Room" type="Node2D"] [node name="Room" type="Node2D"]
[node name="ground" type="TileMapLayer" parent="."] [node name="ground" type="TileMapLayer" parent="."]
@@ -678,13 +687,37 @@ tile_map_data = PackedByteArray("AADw//L/AAAAAAEAAADw//P/AAAAAAIAAADw//T/AAAAAAM
tile_set = SubResource("TileSet_y0jqb") tile_set = SubResource("TileSet_y0jqb")
[node name="Player" parent="." instance=ExtResource("2_shs2d")] [node name="Player" parent="." instance=ExtResource("2_shs2d")]
position = Vector2(-1, 89) position = Vector2(-2, 95)
[node name="DoorArea" type="Area2D" parent="."] [node name="RoomDoorArea" type="Area2D" parent="."]
script = ExtResource("3_y0jqb") script = ExtResource("3_y0jqb")
target_scene_name = "square" target_scene_name = "square"
target_position = Vector2(647, 32) target_position = Vector2(647, 32)
[node name="CollisionShape2D" type="CollisionShape2D" parent="DoorArea"] [node name="RoomDoorAreaCollisionShape2D" type="CollisionShape2D" parent="RoomDoorArea"]
position = Vector2(2, 127) position = Vector2(2, 127)
shape = SubResource("RectangleShape2D_pywo5") shape = SubResource("RectangleShape2D_pywo5")
[node name="RoomBoundaries" type="Node2D" parent="."]
[node name="RoomWall" type="StaticBody2D" parent="RoomBoundaries"]
[node name="RoomLeftWall" type="CollisionShape2D" parent="RoomBoundaries/RoomWall"]
position = Vector2(-252.5, -68.5)
shape = SubResource("RectangleShape2D_y0jqb")
[node name="RoomRightWall" type="CollisionShape2D" parent="RoomBoundaries/RoomWall"]
position = Vector2(251, -68)
shape = SubResource("RectangleShape2D_y0jqb")
[node name="RoomTopWall" type="CollisionShape2D" parent="RoomBoundaries/RoomWall"]
position = Vector2(0.75, -160.5)
shape = SubResource("RectangleShape2D_2vx7m")
[node name="RoomDownLeftWall" type="CollisionShape2D" parent="RoomBoundaries/RoomWall"]
position = Vector2(-142.5, 91.5)
shape = SubResource("RectangleShape2D_x8d2w")
[node name="RoomDownRightWall" type="CollisionShape2D" parent="RoomBoundaries/RoomWall"]
position = Vector2(140, 91.25)
shape = SubResource("RectangleShape2D_x8d2w")

File diff suppressed because one or more lines are too long