Level 1 implemented

Level 1 playable; more to be added
This commit is contained in:
Jane Cho
2021-12-08 03:05:02 -06:00
parent 6e4284a792
commit d6e7dd9db3
6 changed files with 86 additions and 33 deletions

View File

@@ -5,18 +5,20 @@
[ext_resource path="res://Sprites/Enemies/Chasing_Glowing_Ghost.png" type="Texture" id=3]
[ext_resource path="res://Enemies/Chasing Glowing Ghost.gd" type="Script" id=4]
[sub_resource type="CapsuleShape2D" id=3]
[sub_resource type="CapsuleShape2D" id=1]
radius = 1.5
height = 3.0
[sub_resource type="CapsuleShape2D" id=1]
[sub_resource type="CapsuleShape2D" id=2]
radius = 3.0
height = 2.0
[sub_resource type="CircleShape2D" id=2]
[sub_resource type="CircleShape2D" id=3]
radius = 50.0
[node name="Chasing Glowing Ghost" type="KinematicBody2D" groups=["enemy"]]
[node name="Chasing Glowing Ghost" type="KinematicBody2D" groups=[
"enemy",
]]
light_mask = 0
collision_layer = 4
collision_mask = 5
@@ -32,9 +34,11 @@ offset = Vector2( 0, 0.5 )
visible = false
light_mask = 0
rotation = 1.5708
shape = SubResource( 3 )
shape = SubResource( 1 )
[node name="Hitbox" type="Area2D" parent="." groups=["enemy_hitbox_1"]]
[node name="Hitbox" type="Area2D" parent="." groups=[
"enemy_hitbox_1",
]]
light_mask = 0
collision_layer = 4
collision_mask = 2
@@ -43,19 +47,19 @@ collision_mask = 2
visible = false
light_mask = 0
position = Vector2( 0, -2.5 )
shape = SubResource( 1 )
shape = SubResource( 2 )
[node name="Player Detector" type="Area2D" parent="."]
light_mask = 0
collision_layer = 0
collision_mask = 2
input_pickable = false
monitorable = false
collision_layer = 0
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Player Detector"]
visible = false
light_mask = 0
shape = SubResource( 2 )
shape = SubResource( 3 )
[node name="Light" type="Light2D" parent="."]
texture = ExtResource( 2 )

View File

@@ -10,6 +10,7 @@ var position_tracker = 0.0
var player = null
var obstacle = null
var DisplayValue = 10
var health: int = 2
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
@@ -47,7 +48,7 @@ func _on_Player_detect_body_exited(_body):
func _on_Star_detect_body_entered(body_star):
#print("obstacle entered")
#print(body_star.name)#Obstacle
if body_star.name == 'Star':
if 'Star' in body_star.name:
obstacle = body_star
timer.set_wait_time(DisplayValue)
timer.start()
@@ -63,3 +64,15 @@ func _on_Star_detect_body_exited(_body):
func _on_Timer_timeout():
#print("time out")
obstacle = null # Replace with function body.
func _on_Hitbox_area_entered(area: Area2D):
if obstacle: #when the enemy is vulnerable
if area.is_in_group('player_weapon_1'):
health -= 1
elif area.is_in_group('player_weapon_2'):
health -= 2
if health <= 0:
call_deferred('queue_free')
return

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=6 format=2]
[gd_scene load_steps=7 format=2]
[ext_resource path="res://Sprites/Enemies/DarkMatter_barrier.png" type="Texture" id=1]
[ext_resource path="res://Enemies/Dark Matter.gd" type="Script" id=2]
@@ -12,6 +12,9 @@ radius = 55.4916
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 5.48996, 5.06427 )
[sub_resource type="RectangleShape2D" id=4]
extents = Vector2( 5.50204, 4.89798 )
[node name="Dark Matter" type="KinematicBody2D"]
collision_layer = 2
collision_mask = 6
@@ -39,8 +42,16 @@ shape = SubResource( 3 )
[node name="Timer" type="Timer" parent="."]
[node name="Hitbox" type="Area2D" parent="."]
collision_layer = 4
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource( 4 )
[connection signal="body_entered" from="Player_detect" to="." method="_on_Player_detect_body_entered"]
[connection signal="body_exited" from="Player_detect" to="." method="_on_Player_detect_body_exited"]
[connection signal="body_entered" from="Star_detect" to="." method="_on_Star_detect_body_entered"]
[connection signal="body_exited" from="Star_detect" to="." method="_on_Star_detect_body_exited"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"]