Skip to content

Commit 8b7bf2b

Browse files
committed
fixed door bug
1 parent e0e7890 commit 8b7bf2b

File tree

7 files changed

+47
-68
lines changed

7 files changed

+47
-68
lines changed

entity/door/Door.gd

+9-4
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,23 @@ export(bool) var single_use
99
onready var detector = $Area2D
1010

1111
func _ready():
12+
pass
1213
# $Sprite.texture = texture
13-
if not detector.is_connected("body_entered", self, "open_door"):
14-
detector.connect("body_entered", self, "open_door")
15-
if not detector.is_connected("body_exited", self, "close_door"):
16-
detector.connect("body_exited", self, "close_door")
14+
# if not detector.is_connected("body_entered", self, "open_door"):
15+
# print(name + " connect open")
16+
# detector.connect("body_entered", self, "open_door")
17+
# if not detector.is_connected("body_exited", self, "close_door"):
18+
# print(name + " connect close")
19+
# detector.connect("body_exited", self, "close_door")
1720

1821
func open_door(body):
1922
if GameManager.current_level.has_key(body, key_type) and not open:
2023
open = true
24+
print(name + " opening")
2125
$AnimationPlayer.play("Open")
2226

2327
func close_door(body):
2428
if not single_use and open:
2529
open = false
30+
print(name + " closing")
2631
$AnimationPlayer.play_backwards("Open")

entity/door/Door.tscn

+18-27
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[sub_resource type="Animation" id=1]
77
resource_name = "Open"
88
tracks/0/type = "value"
9-
tracks/0/path = NodePath("../Door/CollisionShape2D:shape:extents")
9+
tracks/0/path = NodePath("Sprite:scale")
1010
tracks/0/interp = 1
1111
tracks/0/loop_wrap = true
1212
tracks/0/imported = false
@@ -15,10 +15,10 @@ tracks/0/keys = {
1515
"times": PoolRealArray( 0, 1 ),
1616
"transitions": PoolRealArray( 1, 1 ),
1717
"update": 0,
18-
"values": [ Vector2( 5, 40 ), Vector2( 5, 0 ) ]
18+
"values": [ Vector2( 1, 240 ), Vector2( 1, 1e-005 ) ]
1919
}
2020
tracks/1/type = "value"
21-
tracks/1/path = NodePath("../Door/CollisionShape2D:position")
21+
tracks/1/path = NodePath("Sprite:position")
2222
tracks/1/interp = 1
2323
tracks/1/loop_wrap = true
2424
tracks/1/imported = false
@@ -30,53 +30,44 @@ tracks/1/keys = {
3030
"values": [ Vector2( 0, 0 ), Vector2( 0, 120 ) ]
3131
}
3232
tracks/2/type = "value"
33-
tracks/2/path = NodePath("../Door/Sprite:scale")
33+
tracks/2/path = NodePath("CollisionShape2D:disabled")
3434
tracks/2/interp = 1
3535
tracks/2/loop_wrap = true
3636
tracks/2/imported = false
3737
tracks/2/enabled = true
3838
tracks/2/keys = {
3939
"times": PoolRealArray( 0, 1 ),
4040
"transitions": PoolRealArray( 1, 1 ),
41-
"update": 0,
42-
"values": [ Vector2( 1, 240 ), Vector2( 1, 1e-005 ) ]
41+
"update": 1,
42+
"values": [ false, true ]
4343
}
44-
tracks/3/type = "value"
45-
tracks/3/path = NodePath("../Door/Sprite:position")
46-
tracks/3/interp = 1
47-
tracks/3/loop_wrap = true
48-
tracks/3/imported = false
49-
tracks/3/enabled = true
50-
tracks/3/keys = {
51-
"times": PoolRealArray( 0, 1 ),
52-
"transitions": PoolRealArray( 1, 1 ),
53-
"update": 0,
54-
"values": [ Vector2( 0, 0 ), Vector2( 0, 120 ) ]
55-
}
56-
57-
[sub_resource type="RectangleShape2D" id=2]
58-
extents = Vector2( 5, 40 )
5944

6045
[sub_resource type="RectangleShape2D" id=3]
6146
extents = Vector2( 40, 40 )
6247

48+
[sub_resource type="RectangleShape2D" id=2]
49+
extents = Vector2( 5, 40 )
50+
6351
[node name="Door" type="StaticBody2D"]
6452
script = ExtResource( 1 )
6553

6654
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
6755
playback_process_mode = 0
6856
anims/Open = SubResource( 1 )
6957

58+
[node name="Area2D" type="Area2D" parent="."]
59+
60+
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
61+
visible = false
62+
scale = Vector2( 3, 3 )
63+
shape = SubResource( 3 )
64+
7065
[node name="Sprite" type="Sprite" parent="."]
7166
scale = Vector2( 1, 240 )
7267
texture = ExtResource( 2 )
7368

7469
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
7570
scale = Vector2( 1, 3 )
7671
shape = SubResource( 2 )
77-
78-
[node name="Area2D" type="Area2D" parent="."]
79-
80-
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
81-
scale = Vector2( 3, 3 )
82-
shape = SubResource( 3 )
72+
[connection signal="body_entered" from="Area2D" to="." method="open_door"]
73+
[connection signal="body_exited" from="Area2D" to="." method="close_door"]

entity/guard/Guard.tscn

+1
Original file line numberDiff line numberDiff line change
@@ -253,3 +253,4 @@ parameters/Walk/TimeScale/scale = 2.2
253253
scale = Vector2( 0.5, 0.5 )
254254
texture = ExtResource( 3 )
255255
hframes = 2
256+
frame = 1

entity/key/Key.gd

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
extends Area2D
2-
3-
export(GameManager.KeyType) var key_type
4-
export(Texture) var texture
5-
6-
func _ready():
7-
$Sprite.texture = texture
8-
if not is_connected("body_entered", self, "claim"):
9-
connect("body_entered", self, "claim")
10-
11-
func claim(body):
12-
GameManager.current_level.claim_key(body, key_type)
13-
hide()
1+
extends Area2D
2+
3+
export(GameManager.KeyType) var key_type
4+
export(Texture) var texture
5+
6+
func _ready():
7+
$Sprite.texture = texture
8+
if not is_connected("body_entered", self, "claim"):
9+
connect("body_entered", self, "claim")
10+
11+
func claim(body):
12+
GameManager.current_level.claim_key(body, key_type)
13+
queue_free()

levels/Level1.tscn

+5-23
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[gd_scene load_steps=15 format=2]
1+
[gd_scene load_steps=11 format=2]
22

33
[ext_resource path="res://manager/LevelController.gd" type="Script" id=1]
44
[ext_resource path="res://levels/tiles/SampleTileset.tres" type="TileSet" id=2]
@@ -10,22 +10,6 @@
1010
[ext_resource path="res://manager/CameraController.gd" type="Script" id=8]
1111
[ext_resource path="res://gui/fonts/FiraCode-Regular.ttf" type="DynamicFontData" id=9]
1212

13-
[sub_resource type="Gradient" id=1]
14-
offsets = PoolRealArray( 0.392857 )
15-
colors = PoolColorArray( 0.964844, 0.768271, 0.0972135, 1 )
16-
17-
[sub_resource type="GradientTexture" id=2]
18-
gradient = SubResource( 1 )
19-
width = 10
20-
21-
[sub_resource type="Gradient" id=3]
22-
offsets = PoolRealArray( 0.744898 )
23-
colors = PoolColorArray( 0.319205, 0.859375, 0.099575, 1 )
24-
25-
[sub_resource type="GradientTexture" id=4]
26-
gradient = SubResource( 3 )
27-
width = 10
28-
2913
[sub_resource type="DynamicFont" id=5]
3014
size = 72
3115
use_mipmaps = true
@@ -47,24 +31,22 @@ format = 1
4731
tile_data = PoolIntArray( -65524, 536870913, 0, -65523, 536870913, 0, -65522, 536870913, 0, -65521, 536870913, 0, -65520, 536870913, 0, 17, 536870913, 0, 18, 536870913, 0, 19, 536870913, 0, 20, 536870913, 0, 65559, 536870913, 0, 131094, 536870913, 0, 196629, 536870913, 0, 327665, 536870916, 0, 327666, 536870916, 0, 327671, 0, 0, 327672, 0, 0, 327673, 0, 0, 327674, 536870912, 0, 327675, 0, 0, 327676, 0, 0, 327677, 0, 0, 327678, 0, 0, 327679, 0, 0, 262144, 0, 0, 262145, 0, 0, 262146, 0, 0, 262152, 536870917, 0, 262153, 536870917, 0, 262154, 536870917, 0, 262164, 536870913, 0, 393202, 536870916, 0, 393203, 536870916, 0, 327687, 536870912, 0, 327688, 536870917, 0, 327689, 536870917, 0, 327690, 536870917, 0, 327699, 536870913, 0, 458739, 536870916, 0, 458740, 536870916, 0, 393222, 536870912, 0, 393223, 536870912, 0, 393224, 536870917, 0, 393225, 536870917, 0, 393226, 536870917, 0, 393234, 536870913, 0, 524276, 536870916, 0, 524277, 536870916, 0, 458757, 536870912, 0, 458758, 536870912, 0, 458759, 536870912, 0, 458760, 536870917, 0, 458761, 536870917, 0, 458762, 536870917, 0, 458769, 536870913, 0, 589813, 536870916, 0, 589814, 536870916, 0, 524290, 536870914, 0, 524291, 536870914, 0, 524292, 536870914, 0, 524293, 536870914, 0, 524294, 536870914, 0, 524295, 536870914, 0, 524296, 536870914, 0, 524297, 536870914, 0, 524298, 536870914, 0, 524304, 536870913, 0, 655350, 536870916, 0, 655351, 536870916, 0, 589839, 536870913, 0, 720887, 536870916, 0, 720888, 536870915, 0, 720889, 536870915, 0, 720890, 536870915, 0, 720891, 536870915, 0, 720892, 536870915, 0, 720893, 536870915, 0, 720894, 536870915, 0, 655374, 536870913, 0, 786424, 536870915, 0, 786425, 536870915, 0, 786426, 536870915, 0, 786427, 536870915, 0, 786428, 536870915, 0, 786429, 536870915, 0, 786430, 536870915, 0, 786431, 536870915, 0, 720896, 536870915, 0, 720897, 536870915, 0, 720898, 536870915, 0, 720909, 536870913, 0, 786437, 536870917, 0, 786438, 536870917, 0, 786439, 536870917, 0, 786442, 536870917, 0, 786443, 536870917, 0, 786444, 536870917, 0, 851973, 536870917, 0, 851974, 536870917, 0, 851975, 536870917, 0, 851978, 536870917, 0, 851979, 536870917, 0, 851980, 536870917, 0 )
4832

4933
[node name="Door" parent="Past" instance=ExtResource( 3 )]
50-
position = Vector2( -128.851, 384.414 )
34+
position = Vector2( -158.461, 395.517 )
5135
key_type = 3
52-
texture = SubResource( 2 )
5336
single_use = true
5437

5538
[node name="Door2" parent="Past" instance=ExtResource( 3 )]
56-
position = Vector2( 218.5, 382.788 )
39+
position = Vector2( 224.994, 396.227 )
5740
key_type = 1
58-
texture = SubResource( 4 )
5941
single_use = true
6042

6143
[node name="Key" parent="Past" instance=ExtResource( 4 )]
62-
position = Vector2( -404.072, 1166.64 )
44+
position = Vector2( -586.823, 374.088 )
6345
key_type = 3
6446
texture = ExtResource( 5 )
6547

6648
[node name="Key2" parent="Past" instance=ExtResource( 4 )]
67-
position = Vector2( 1682.57, -276.563 )
49+
position = Vector2( -753.291, 361.82 )
6850
key_type = 1
6951
texture = ExtResource( 6 )
7052

manager/LevelController.gd

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ func change_zone(to_future):
3333
$Future.set_global_scale(Vector2(0, 0))
3434

3535
func claim_key(player, key_type):
36+
print("player gets key %s" % key_type)
3637
key_owner[player] = key_type
3738

3839
func has_key(player, key_type):

project.godot

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ GameManager="*res://manager/GameManager.gd"
2525

2626
[debug]
2727

28-
settings/stdout/print_fps=true
2928
settings/stdout/verbose_stdout=true
3029

3130
[display]

0 commit comments

Comments
 (0)