ADD: doors.
parent
407e12fd38
commit
93003abb2a
|
@ -0,0 +1,33 @@
|
||||||
|
extends StaticBody2D
|
||||||
|
|
||||||
|
@export var ID : int = 0
|
||||||
|
var m_state = null
|
||||||
|
var m_open_timer = 0.0
|
||||||
|
var m_open_time = 0.2
|
||||||
|
|
||||||
|
@onready var m_init_y_scale = $Sprite2D.scale.y
|
||||||
|
@onready var m_init_y_pos = $Sprite2D.global_position.y
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
m_state = self.process_idle
|
||||||
|
|
||||||
|
func open():
|
||||||
|
m_state = self.process_open
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
if m_state != null:
|
||||||
|
m_state.call(delta)
|
||||||
|
|
||||||
|
func process_idle(_delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func process_open(delta):
|
||||||
|
if m_open_timer >= m_open_time:
|
||||||
|
queue_free()
|
||||||
|
else:
|
||||||
|
var t = min(1.0, m_open_timer / m_open_time)
|
||||||
|
var ratio = (1.0 - t) * m_init_y_scale
|
||||||
|
$Sprite2D.scale.y = ratio
|
||||||
|
|
||||||
|
m_open_timer += delta
|
|
@ -0,0 +1,18 @@
|
||||||
|
[gd_scene load_steps=4 format=3 uid="uid://d30oryxv0w7pf"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://Door/door.gd" id="1_62c16"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://blr8qcmuqs5vl" path="res://icon.svg" id="1_urwyt"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2o8ax"]
|
||||||
|
size = Vector2(74, 20)
|
||||||
|
|
||||||
|
[node name="Door" type="StaticBody2D" groups=["doors"]]
|
||||||
|
script = ExtResource("1_62c16")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
modulate = Color(1, 0, 1, 1)
|
||||||
|
scale = Vector2(0.5, 0.25)
|
||||||
|
texture = ExtResource("1_urwyt")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
shape = SubResource("RectangleShape2D_2o8ax")
|
|
@ -0,0 +1,17 @@
|
||||||
|
extends Area2D
|
||||||
|
|
||||||
|
@export var ID : int = 0
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _on_body_entered(body):
|
||||||
|
if body in get_tree().get_nodes_in_group('bombs'):
|
||||||
|
body._explode(0)
|
||||||
|
for door in get_tree().get_nodes_in_group('doors'):
|
||||||
|
if door.ID == self.ID:
|
||||||
|
door.open()
|
||||||
|
queue_free()
|
|
@ -0,0 +1,24 @@
|
||||||
|
[gd_scene load_steps=4 format=3 uid="uid://c5f7m5oi32kr5"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://DoorCommand/door_command.gd" id="1_l2uva"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://blr8qcmuqs5vl" path="res://icon.svg" id="1_uchk3"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6j0py"]
|
||||||
|
size = Vector2(36, 60)
|
||||||
|
|
||||||
|
[node name="DoorCommand" type="Area2D"]
|
||||||
|
collision_layer = 2
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_l2uva")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
modulate = Color(0.329412, 0.329412, 0.329412, 1)
|
||||||
|
position = Vector2(-0.5, -8.5)
|
||||||
|
scale = Vector2(0.179688, 0.382812)
|
||||||
|
texture = ExtResource("1_uchk3")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(3, -10)
|
||||||
|
shape = SubResource("RectangleShape2D_6j0py")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,15 @@
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _on_button_pressed():
|
||||||
|
get_tree().change_scene_to_file("res://Levels/level_0.tscn")
|
|
@ -1,4 +1,6 @@
|
||||||
[gd_scene format=3 uid="uid://sj7j3yxfjkko"]
|
[gd_scene load_steps=2 format=3 uid="uid://sj7j3yxfjkko"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://MainMenu/main_menu.gd" id="1_ga0yx"]
|
||||||
|
|
||||||
[node name="MainMenu" type="Control"]
|
[node name="MainMenu" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
|
@ -7,6 +9,7 @@ anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_ga0yx")
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="."]
|
[node name="Button" type="Button" parent="."]
|
||||||
layout_mode = 0
|
layout_mode = 0
|
||||||
|
@ -16,3 +19,5 @@ offset_right = 565.0
|
||||||
offset_bottom = 215.0
|
offset_bottom = 215.0
|
||||||
text = "PLAY
|
text = "PLAY
|
||||||
"
|
"
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]
|
||||||
|
|
|
@ -37,6 +37,3 @@ func _moving(delta):
|
||||||
self.velocity = m_dir * m_speed
|
self.velocity = m_dir * m_speed
|
||||||
move_and_collide(self.velocity * delta)
|
move_and_collide(self.velocity * delta)
|
||||||
|
|
||||||
|
|
||||||
func _on_area_2d_area_entered(area):
|
|
||||||
pass
|
|
||||||
|
|
|
@ -9,9 +9,9 @@ radius = 14.0
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_v1u5d"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_v1u5d"]
|
||||||
radius = 34.0147
|
radius = 34.0147
|
||||||
|
|
||||||
[node name="Molotov" type="CharacterBody2D"]
|
[node name="Molotov" type="CharacterBody2D" groups=["bombs"]]
|
||||||
collision_layer = 0
|
collision_layer = 2
|
||||||
collision_mask = 0
|
collision_mask = 2
|
||||||
script = ExtResource("1_uepii")
|
script = ExtResource("1_uepii")
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
@ -22,9 +22,7 @@ texture = ExtResource("1_ga5l4")
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource("CircleShape2D_oq4si")
|
shape = SubResource("CircleShape2D_oq4si")
|
||||||
|
|
||||||
[node name="Area2D" type="Area2D" parent="." groups=["bombs"]]
|
[node name="Area2D" type="Area2D" parent="."]
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||||
shape = SubResource("CircleShape2D_v1u5d")
|
shape = SubResource("CircleShape2D_v1u5d")
|
||||||
|
|
||||||
[connection signal="area_entered" from="Area2D" to="." method="_on_area_2d_area_entered"]
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
[ext_resource type="Script" path="res://Player/player.gd" id="1_2pfvx"]
|
[ext_resource type="Script" path="res://Player/player.gd" id="1_2pfvx"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c0kqx6dsury58" path="res://Actor/actor.tscn" id="2_s40rr"]
|
[ext_resource type="PackedScene" uid="uid://c0kqx6dsury58" path="res://Actor/actor.tscn" id="2_s40rr"]
|
||||||
|
|
||||||
[node name="Player" type="Node2D"]
|
[node name="Player" type="Node2D" groups=["player"]]
|
||||||
script = ExtResource("1_2pfvx")
|
script = ExtResource("1_2pfvx")
|
||||||
|
|
||||||
[node name="Actor" parent="." instance=ExtResource("2_s40rr")]
|
[node name="Actor" parent="." instance=ExtResource("2_s40rr")]
|
||||||
|
|
|
@ -4,7 +4,7 @@ var m_broken_timer = 0.0
|
||||||
var m_broken_time = 0.2
|
var m_broken_time = 0.2
|
||||||
var process_state = null
|
var process_state = null
|
||||||
var m_death_timer = 0.0
|
var m_death_timer = 0.0
|
||||||
var m_death_time = 1.0
|
var m_death_time = 2.0
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
for bear in get_tree().get_nodes_in_group('bears'):
|
for bear in get_tree().get_nodes_in_group('bears'):
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -11,7 +11,7 @@ config_version=5
|
||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="Ludum Dare 54"
|
config/name="Ludum Dare 54"
|
||||||
run/main_scene="res://Sandbox/sandbox.tscn"
|
run/main_scene="res://MainMenu/main_menu.tscn"
|
||||||
config/features=PackedStringArray("4.2", "GL Compatibility")
|
config/features=PackedStringArray("4.2", "GL Compatibility")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue