diff --git a/Enemies/Snowball Blue.gd b/Enemies/Snowball Blue.gd index 8740551..44ecd7c 100644 --- a/Enemies/Snowball Blue.gd +++ b/Enemies/Snowball Blue.gd @@ -7,12 +7,12 @@ var speed = 3 func _ready(): - look_vec = player.position - global_position + look_vec = player.position - global_position func _physics_process(delta): - move = Vector2.ZERO - move = move.move_toward(look_vec, delta) - move = move.normalized() * speed - position += move + move = Vector2.ZERO + move = move.move_toward(look_vec, delta) + move = move.normalized() * speed + position += move diff --git a/Enemies/Snowball Blue.tscn b/Enemies/Snowball Blue.tscn index 3f0fc1f..0c8e7b4 100644 --- a/Enemies/Snowball Blue.tscn +++ b/Enemies/Snowball Blue.tscn @@ -6,8 +6,11 @@ [sub_resource type="CircleShape2D" id=1] radius = 4.47823 -[node name="snowball_blue" type="Area2D" groups=["damage"]] -collision_layer = 2 +[node name="snowball_blue" type="Area2D" groups=[ +"enemy_projectile_1", +]] +collision_layer = 0 +collision_mask = 2 script = ExtResource( 1 ) [node name="Sprite" type="Sprite" parent="."] diff --git a/Enemies/Snowman Enemy Blue.tscn b/Enemies/Snowman Enemy Blue.tscn index b3dcfc9..4a26770 100644 --- a/Enemies/Snowman Enemy Blue.tscn +++ b/Enemies/Snowman Enemy Blue.tscn @@ -1,15 +1,19 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://Sprites/Enemies/blue_snowman.png" type="Texture" id=1] [ext_resource path="res://Enemies/Snowman Enemy.gd" type="Script" id=2] [sub_resource type="CapsuleShape2D" id=1] -radius = 6.0 -height = 5.0 +radius = 1.5 +height = 3.0 [sub_resource type="CircleShape2D" id=2] radius = 58.0175 +[sub_resource type="CapsuleShape2D" id=3] +radius = 6.0 +height = 5.0 + [node name="snowmen_enemy" type="KinematicBody2D"] collision_layer = 2 script = ExtResource( 2 ) @@ -17,8 +21,10 @@ script = ExtResource( 2 ) [node name="Sprite" type="Sprite" parent="."] texture = ExtResource( 1 ) -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( 0.556812, 0.44545 ) +[node name="Collision" type="CollisionShape2D" parent="."] +light_mask = 0 +position = Vector2( 0.618717, 6.27557 ) +rotation = 1.5708 shape = SubResource( 1 ) [node name="detection" type="Area2D" parent="."] @@ -31,6 +37,16 @@ shape = SubResource( 2 ) [node name="Timer" type="Timer" parent="."] autostart = true +[node name="hitbox" type="Area2D" parent="." groups=[ +"enemy_hitbox_1", +]] +visible = false +collision_layer = 4 +collision_mask = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="hitbox"] +shape = SubResource( 3 ) + [connection signal="body_entered" from="detection" to="." method="_on_Area2D_body_entered"] [connection signal="body_exited" from="detection" to="." method="_on_Area2D_body_exited"] [connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/Enemies/Snowman Enemy.tscn b/Enemies/Snowman Enemy.tscn index 906b1d0..99f5485 100644 --- a/Enemies/Snowman Enemy.tscn +++ b/Enemies/Snowman Enemy.tscn @@ -1,15 +1,19 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://Sprites/Enemies/pink_snowman.png" type="Texture" id=1] [ext_resource path="res://Enemies/Snowman Enemy.gd" type="Script" id=2] [sub_resource type="CapsuleShape2D" id=1] -radius = 6.0 -height = 5.0 +radius = 1.5 +height = 3.0 [sub_resource type="CircleShape2D" id=2] radius = 56.0659 +[sub_resource type="CapsuleShape2D" id=3] +radius = 6.0 +height = 5.0 + [node name="snowmen_enemy" type="KinematicBody2D"] collision_layer = 2 script = ExtResource( 2 ) @@ -17,19 +21,34 @@ script = ExtResource( 2 ) [node name="Sprite" type="Sprite" parent="."] texture = ExtResource( 1 ) -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +[node name="Collision" type="CollisionShape2D" parent="."] +light_mask = 0 +position = Vector2( 0.618717, 6.27557 ) +rotation = 1.5708 shape = SubResource( 1 ) [node name="detection" type="Area2D" parent="."] +visible = false collision_layer = 0 collision_mask = 2 [node name="detection" type="CollisionShape2D" parent="detection"] +visible = false shape = SubResource( 2 ) [node name="Timer" type="Timer" parent="."] autostart = true +[node name="hitbox" type="Area2D" parent="." groups=[ +"enemy_hitbox_1", +]] +visible = false +collision_layer = 4 +collision_mask = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="hitbox"] +shape = SubResource( 3 ) + [connection signal="body_entered" from="detection" to="." method="_on_Area2D_body_entered"] [connection signal="body_exited" from="detection" to="." method="_on_Area2D_body_exited"] [connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/Enemies/snowball.tscn b/Enemies/snowball.tscn index 24237a9..c5d72ed 100644 --- a/Enemies/snowball.tscn +++ b/Enemies/snowball.tscn @@ -6,10 +6,12 @@ [sub_resource type="CircleShape2D" id=1] radius = 4.47823 -[node name="snowball" type="Area2D" groups=["damage"]] -collision_layer = 2 -collision_mask = 0 +[node name="snowball" type="Area2D" groups=[ +"enemy_projectile_1", +]] monitoring = false +collision_layer = 0 +collision_mask = 2 script = ExtResource( 1 ) [node name="Sprite" type="Sprite" parent="."] diff --git a/Levels/Hub World.gd b/Levels/Hub World.gd index 5c4d9ab..06b26e7 100644 --- a/Levels/Hub World.gd +++ b/Levels/Hub World.gd @@ -2,5 +2,5 @@ extends Node2D func _ready() -> void: - $YSort/Player.load_hud($HUD) - return + $YSort/Player.load_hud($HUD) + return diff --git a/Levels/Interactives/coin.gd b/Levels/Interactives/coin.gd index 6bf641c..70dc829 100644 --- a/Levels/Interactives/coin.gd +++ b/Levels/Interactives/coin.gd @@ -4,7 +4,7 @@ signal coin_grabbed func _on_Node2D_body_entered(body: Node) -> void: - if body.get_name() == 'Player': - emit_signal("coin_grabbed") - print("coin!") - queue_free() + if body.get_name() == 'Player': + emit_signal("coin_grabbed") + print("coin!") + queue_free() diff --git a/Levels/Level 3.gd b/Levels/Level 3.gd index b769949..2ceba78 100644 --- a/Levels/Level 3.gd +++ b/Levels/Level 3.gd @@ -10,20 +10,20 @@ var screensize var score = 0 func _ready() -> void: - $YSort/Player.load_hud($HUD) - screensize = get_viewport_rect().size - spawn_coins(5) - return + $YSort/Player.load_hud($HUD) + screensize = get_viewport_rect().size + spawn_coins(5) + return func spawn_coins(num): - for i in range(num): - var g = coin.instance() - $'coin_container'.add_child(g) - g.connect("coin_grabbed", self, "_on_coin_grabbed") - #g.set_pos(Vector2(rand_range(0, screensize.x-40), rand_range(0, screensize.y-40))) - g.position = Vector2(rand_range(0, screensize.x-40), rand_range(0, screensize.y-40)) + for i in range(num): + var g = coin.instance() + $'coin_container'.add_child(g) + g.connect("coin_grabbed", self, "_on_coin_grabbed") + #g.set_pos(Vector2(rand_range(0, screensize.x-40), rand_range(0, screensize.y-40))) + g.position = Vector2(rand_range(0, screensize.x-40), rand_range(0, screensize.y-40)) func _on_coin_grabbed(): - score+=1 - print(score) + score+=1 + print(score) diff --git a/Player/Player.gd b/Player/Player.gd index a6ca229..95da565 100644 --- a/Player/Player.gd +++ b/Player/Player.gd @@ -109,10 +109,10 @@ func _on_hitbox_area_entered(area: Area2D) -> void: #var timer = Timer.new() - elif body.name.begins_with("blue_snowman"): - MAX_SPEED = 20 - yield(get_tree().create_timer(3.0), "timeout") - MAX_SPEED = 120 + #if body.name.begins_with("blue_snowman"): + # MAX_SPEED = 20 + # yield(get_tree().create_timer(3.0), "timeout") + # MAX_SPEED = 120 if health_index != 0: health_index -= hit diff --git a/project.godot b/project.godot index bdd2666..1691a09 100644 --- a/project.godot +++ b/project.godot @@ -57,6 +57,7 @@ screenshot={ player_attack={ "deadzone": 0.5, "events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) ] }