From e1de3d0748d497ee37eb096546d0e900c17bb82f Mon Sep 17 00:00:00 2001 From: Fusselkater Date: Tue, 19 Jul 2022 22:22:16 +0200 Subject: [PATCH] add 3rd monster --- common/global_state.gd | 2 + objects/characters/monsters/01/monster_01.gd | 4 +- .../characters/monsters/01/monster_01.tscn | 14 +- .../monsters/03/assets/fireball.svg | 60 +++++++ .../monsters/03/assets/fireball.svg.import | 35 ++++ .../characters/monsters/03/assets/sprite1.svg | 90 +++++++++++ .../monsters/03/assets/sprite1.svg.import | 35 ++++ .../characters/monsters/03/assets/sprite2.svg | 90 +++++++++++ .../monsters/03/assets/sprite2.svg.import | 35 ++++ .../characters/monsters/03/assets/sprite3.svg | 90 +++++++++++ .../monsters/03/assets/sprite3.svg.import | 35 ++++ objects/characters/monsters/03/bullet.gd | 20 +++ objects/characters/monsters/03/bullet.tscn | 68 ++++++++ objects/characters/monsters/03/monster_03.gd | 72 +++++++++ .../characters/monsters/03/monster_03.tscn | 58 +++++++ objects/characters/player.gd | 3 - objects/key/assets/blue.svg | 115 ++++++++++++++ objects/key/assets/blue.svg.import | 35 ++++ objects/key/assets/green.svg | 82 ++++++++++ objects/key/assets/green.svg.import | 35 ++++ objects/key/assets/red.svg | 99 ++++++++++++ objects/key/assets/red.svg.import | 35 ++++ objects/key/key.gd | 11 +- scenes/levels/02/level_02.tscn | 150 +++++++++++++++++- scenes/main.gd | 1 + 25 files changed, 1264 insertions(+), 10 deletions(-) create mode 100644 objects/characters/monsters/03/assets/fireball.svg create mode 100644 objects/characters/monsters/03/assets/fireball.svg.import create mode 100644 objects/characters/monsters/03/assets/sprite1.svg create mode 100644 objects/characters/monsters/03/assets/sprite1.svg.import create mode 100644 objects/characters/monsters/03/assets/sprite2.svg create mode 100644 objects/characters/monsters/03/assets/sprite2.svg.import create mode 100644 objects/characters/monsters/03/assets/sprite3.svg create mode 100644 objects/characters/monsters/03/assets/sprite3.svg.import create mode 100644 objects/characters/monsters/03/bullet.gd create mode 100644 objects/characters/monsters/03/bullet.tscn create mode 100644 objects/characters/monsters/03/monster_03.gd create mode 100644 objects/characters/monsters/03/monster_03.tscn create mode 100644 objects/key/assets/blue.svg create mode 100644 objects/key/assets/blue.svg.import create mode 100644 objects/key/assets/green.svg create mode 100644 objects/key/assets/green.svg.import create mode 100644 objects/key/assets/red.svg create mode 100644 objects/key/assets/red.svg.import diff --git a/common/global_state.gd b/common/global_state.gd index 537b965..cb75f8a 100644 --- a/common/global_state.gd +++ b/common/global_state.gd @@ -9,3 +9,5 @@ var keys = { var coins = 0 var health = 100 + +var player : KinematicBody2D = null diff --git a/objects/characters/monsters/01/monster_01.gd b/objects/characters/monsters/01/monster_01.gd index 9565f12..303aef7 100644 --- a/objects/characters/monsters/01/monster_01.gd +++ b/objects/characters/monsters/01/monster_01.gd @@ -2,9 +2,9 @@ extends "res://objects/characters/monsters/monster.gd" func _process(delta): if velocity != null: - if not $RayBottomLeft.is_colliding(): + if not $RayBottomLeft.is_colliding() or $RayLeft.is_colliding(): velocity.x = speed - if not $RayBottomRight.is_colliding(): + if not $RayBottomRight.is_colliding() or $RayRight.is_colliding(): velocity.x = -speed func stomped_on_head(): diff --git a/objects/characters/monsters/01/monster_01.tscn b/objects/characters/monsters/01/monster_01.tscn index 81e4cb3..47e071a 100644 --- a/objects/characters/monsters/01/monster_01.tscn +++ b/objects/characters/monsters/01/monster_01.tscn @@ -43,7 +43,7 @@ script = ExtResource( 2 ) scale = Vector2( 0.2, 0.2 ) frames = SubResource( 1 ) animation = "idle" -frame = 6 +frame = 8 playing = true [node name="Collision" type="CollisionShape2D" parent="."] @@ -56,12 +56,24 @@ enabled = true cast_to = Vector2( 0, 5 ) collision_mask = 4 +[node name="RayLeft" type="RayCast2D" parent="."] +position = Vector2( -38, 23 ) +enabled = true +cast_to = Vector2( -5, 0 ) +collision_mask = 4 + [node name="RayBottomRight" type="RayCast2D" parent="."] position = Vector2( 39, 23 ) enabled = true cast_to = Vector2( 0, 5 ) collision_mask = 4 +[node name="RayRight" type="RayCast2D" parent="."] +position = Vector2( 39, 23 ) +enabled = true +cast_to = Vector2( 5, 0 ) +collision_mask = 4 + [node name="RayPlayerLeft" type="RayCast2D" parent="."] position = Vector2( -38, 21 ) enabled = true diff --git a/objects/characters/monsters/03/assets/fireball.svg b/objects/characters/monsters/03/assets/fireball.svg new file mode 100644 index 0000000..d6c6727 --- /dev/null +++ b/objects/characters/monsters/03/assets/fireball.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + diff --git a/objects/characters/monsters/03/assets/fireball.svg.import b/objects/characters/monsters/03/assets/fireball.svg.import new file mode 100644 index 0000000..224b9da --- /dev/null +++ b/objects/characters/monsters/03/assets/fireball.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/fireball.svg-06553e9f4e4b1f86e4c3d92e0cb5bd2d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/characters/monsters/03/assets/fireball.svg" +dest_files=[ "res://.import/fireball.svg-06553e9f4e4b1f86e4c3d92e0cb5bd2d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/objects/characters/monsters/03/assets/sprite1.svg b/objects/characters/monsters/03/assets/sprite1.svg new file mode 100644 index 0000000..b85d5cb --- /dev/null +++ b/objects/characters/monsters/03/assets/sprite1.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + diff --git a/objects/characters/monsters/03/assets/sprite1.svg.import b/objects/characters/monsters/03/assets/sprite1.svg.import new file mode 100644 index 0000000..f375f99 --- /dev/null +++ b/objects/characters/monsters/03/assets/sprite1.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/sprite1.svg-8aee01c247271956baa70511a2a06299.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/characters/monsters/03/assets/sprite1.svg" +dest_files=[ "res://.import/sprite1.svg-8aee01c247271956baa70511a2a06299.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/objects/characters/monsters/03/assets/sprite2.svg b/objects/characters/monsters/03/assets/sprite2.svg new file mode 100644 index 0000000..2256f46 --- /dev/null +++ b/objects/characters/monsters/03/assets/sprite2.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + diff --git a/objects/characters/monsters/03/assets/sprite2.svg.import b/objects/characters/monsters/03/assets/sprite2.svg.import new file mode 100644 index 0000000..8535aae --- /dev/null +++ b/objects/characters/monsters/03/assets/sprite2.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/sprite2.svg-216a6a3b29f711bebdf533d0dd078bcd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/characters/monsters/03/assets/sprite2.svg" +dest_files=[ "res://.import/sprite2.svg-216a6a3b29f711bebdf533d0dd078bcd.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/objects/characters/monsters/03/assets/sprite3.svg b/objects/characters/monsters/03/assets/sprite3.svg new file mode 100644 index 0000000..44214dd --- /dev/null +++ b/objects/characters/monsters/03/assets/sprite3.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + diff --git a/objects/characters/monsters/03/assets/sprite3.svg.import b/objects/characters/monsters/03/assets/sprite3.svg.import new file mode 100644 index 0000000..4ad1e06 --- /dev/null +++ b/objects/characters/monsters/03/assets/sprite3.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/sprite3.svg-e3c1074f0d2dee0c34f788effc022866.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/characters/monsters/03/assets/sprite3.svg" +dest_files=[ "res://.import/sprite3.svg-e3c1074f0d2dee0c34f788effc022866.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/objects/characters/monsters/03/bullet.gd b/objects/characters/monsters/03/bullet.gd new file mode 100644 index 0000000..0816e11 --- /dev/null +++ b/objects/characters/monsters/03/bullet.gd @@ -0,0 +1,20 @@ +extends StaticBody2D + +export(Vector2) var velocity +export(int) var damage = 5 + +# Called when the node enters the scene tree for the first time. +func _ready(): + $Rotation.play("rotate") + $Animation.play("fade") + +func _physics_process(delta): + position -= velocity + + +func _on_PlayerCollision(body): + body.monster_hit(-velocity.x * 10, damage) + queue_free() + +func _on_screen_exited(): + queue_free() diff --git a/objects/characters/monsters/03/bullet.tscn b/objects/characters/monsters/03/bullet.tscn new file mode 100644 index 0000000..2ddb82e --- /dev/null +++ b/objects/characters/monsters/03/bullet.tscn @@ -0,0 +1,68 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://objects/characters/monsters/03/assets/fireball.svg" type="Texture" id=1] +[ext_resource path="res://objects/characters/monsters/03/bullet.gd" type="Script" id=2] + +[sub_resource type="CircleShape2D" id=1] +radius = 11.7047 + +[sub_resource type="Animation" id=2] +resource_name = "rotate" +length = 0.8 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 0 ), +"update": 0, +"values": [ 0.0, 90.0, 180.0, 270.0, 360.0 ] +} + +[sub_resource type="Animation" id=3] +resource_name = "fade" +length = 0.5 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} + +[node name="Bullet" type="StaticBody2D"] +collision_layer = 0 +collision_mask = 0 +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) + +[node name="Collision" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) + +[node name="Rotation" type="AnimationPlayer" parent="."] +anims/rotate = SubResource( 2 ) + +[node name="Animation" type="AnimationPlayer" parent="."] +anims/fade = SubResource( 3 ) + +[node name="PlayerCollision" type="Area2D" parent="."] +collision_layer = 0 + +[node name="Collision" type="CollisionShape2D" parent="PlayerCollision"] +shape = SubResource( 1 ) + +[node name="VisibilityNotifier2D" type="VisibilityNotifier2D" parent="."] + +[connection signal="body_entered" from="PlayerCollision" to="." method="_on_PlayerCollision"] +[connection signal="screen_exited" from="VisibilityNotifier2D" to="." method="_on_screen_exited"] diff --git a/objects/characters/monsters/03/monster_03.gd b/objects/characters/monsters/03/monster_03.gd new file mode 100644 index 0000000..b10ad0e --- /dev/null +++ b/objects/characters/monsters/03/monster_03.gd @@ -0,0 +1,72 @@ +extends ReferenceRect + +export var speed : float = 5.0 +const BULLET_PATH = "res://objects/characters/monsters/03/bullet.tscn" + +var velocity = Vector2(speed, 0) +export var cooldown_time: float = 3.0 +export var bullet_speed: float = 3.0 +export var damage: int = 10 +onready var level = get_parent() + +var cooldown = false +onready var bullet_scene = preload(BULLET_PATH) + +var bullet_vector = Vector2.ZERO + +# Called when the node enters the scene tree for the first time. +func _ready(): + randomize() + $monster.position.x = fmod(randi(), rect_size.x) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + +func _physics_process(delta): + # Move only if shoot animation is not played + if not $monster/Animation.is_playing(): + _movement() + + # Check angle and distance + var angle = $monster.global_position.angle_to_point(GlobalState.player.global_position) + var rounded_angle = fmod(abs(round(rad2deg(angle))), 90) + var distance = $monster.global_position.distance_to(GlobalState.player.global_position) + var direction = ($monster.global_position - GlobalState.player.global_position).normalized() + var player_is_left = direction.x > 0 + + # Shoot if in right distance/angle + if rounded_angle == 45 and cooldown == false \ + and player_is_left != $monster/AnimatedSprite.flip_h \ + and GlobalState.player.global_position.y <= rect_global_position.y + rect_size.y: + cooldown = true + # calculate bullet velocity + bullet_vector = ($monster.global_position - GlobalState.player.global_position).normalized() + $monster/Animation.play("shoot") + yield(get_tree().create_timer(cooldown_time), "timeout") + cooldown = false + +func _movement(): + # Move monster + $monster.position += velocity + + if $monster.position.x >= rect_size.x or $monster.position.x <= 0: + velocity.x = -velocity.x + + $monster/AnimatedSprite.flip_h = velocity.x > 0 + + +func _on_Animatio_finished(anim_name): + if anim_name == "shoot" and $monster/Animation.current_animation_position != 0: + # generate bullet + var bullet = bullet_scene.instance() + bullet.global_position = $monster.global_position + if $monster/AnimatedSprite.flip_h: + bullet.global_position.x += 70 + bullet.velocity = bullet_vector * bullet_speed + bullet.damage = damage + level.add_child(bullet) + print(bullet) + + $monster/Animation.play_backwards("shoot") + diff --git a/objects/characters/monsters/03/monster_03.tscn b/objects/characters/monsters/03/monster_03.tscn new file mode 100644 index 0000000..10a834b --- /dev/null +++ b/objects/characters/monsters/03/monster_03.tscn @@ -0,0 +1,58 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://objects/characters/monsters/03/assets/sprite1.svg" type="Texture" id=1] +[ext_resource path="res://objects/characters/monsters/03/assets/sprite2.svg" type="Texture" id=2] +[ext_resource path="res://objects/characters/monsters/03/monster_03.gd" type="Script" id=3] + +[sub_resource type="SpriteFrames" id=1] +animations = [ { +"frames": [ ExtResource( 1 ), ExtResource( 2 ) ], +"loop": true, +"name": "flying", +"speed": 10.0 +} ] + +[sub_resource type="CircleShape2D" id=2] +radius = 35.0 + +[sub_resource type="Animation" id=3] +resource_name = "shoot" +length = 0.5 +tracks/0/type = "value" +tracks/0/path = NodePath("AnimatedSprite:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ), Color( 1, 0, 0, 1 ) ] +} + +[node name="Monster03 Shape" type="ReferenceRect"] +margin_right = 630.0 +margin_bottom = 70.0 +script = ExtResource( 3 ) + +[node name="monster" type="StaticBody2D" parent="."] +position = Vector2( 0, 70 ) +collision_layer = 0 +collision_mask = 0 + +[node name="AnimatedSprite" type="AnimatedSprite" parent="monster"] +position = Vector2( 35, -35 ) +frames = SubResource( 1 ) +animation = "flying" +playing = true + +[node name="Collision" type="CollisionShape2D" parent="monster"] +position = Vector2( 35, -35 ) +shape = SubResource( 2 ) + +[node name="Animation" type="AnimationPlayer" parent="monster"] +playback_process_mode = 0 +anims/shoot = SubResource( 3 ) + +[connection signal="animation_finished" from="monster/Animation" to="." method="_on_Animatio_finished"] diff --git a/objects/characters/player.gd b/objects/characters/player.gd index fe99b8e..6b31df0 100644 --- a/objects/characters/player.gd +++ b/objects/characters/player.gd @@ -108,9 +108,6 @@ func _physics_process(delta): # Jump if Input.is_action_just_pressed("jump"): if $RayBottomLeft.is_colliding() or $RayBottomRight.is_colliding() or $RayBottomCenter.is_colliding(): - print("Left: " + str($RayBottomLeft.is_colliding())) - print("Center: " + str($RayBottomCenter.is_colliding())) - print("Right: " + str($RayBottomRight.is_colliding())) jump() func _next_player_state(): diff --git a/objects/key/assets/blue.svg b/objects/key/assets/blue.svg new file mode 100644 index 0000000..6eda2e7 --- /dev/null +++ b/objects/key/assets/blue.svg @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/key/assets/blue.svg.import b/objects/key/assets/blue.svg.import new file mode 100644 index 0000000..fce21c2 --- /dev/null +++ b/objects/key/assets/blue.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/blue.svg-657a662c90e1984b91b07f0ce2798bca.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/key/assets/blue.svg" +dest_files=[ "res://.import/blue.svg-657a662c90e1984b91b07f0ce2798bca.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/objects/key/assets/green.svg b/objects/key/assets/green.svg new file mode 100644 index 0000000..19a78f4 --- /dev/null +++ b/objects/key/assets/green.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + diff --git a/objects/key/assets/green.svg.import b/objects/key/assets/green.svg.import new file mode 100644 index 0000000..d6feed2 --- /dev/null +++ b/objects/key/assets/green.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/green.svg-d87e4559b2bc73f58b43fd1e23918fe6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/key/assets/green.svg" +dest_files=[ "res://.import/green.svg-d87e4559b2bc73f58b43fd1e23918fe6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/objects/key/assets/red.svg b/objects/key/assets/red.svg new file mode 100644 index 0000000..f08ca4d --- /dev/null +++ b/objects/key/assets/red.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/objects/key/assets/red.svg.import b/objects/key/assets/red.svg.import new file mode 100644 index 0000000..1a365a4 --- /dev/null +++ b/objects/key/assets/red.svg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/red.svg-5e0d9927135ee14e7c4d20a1d0350a1a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/key/assets/red.svg" +dest_files=[ "res://.import/red.svg-5e0d9927135ee14e7c4d20a1d0350a1a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/objects/key/key.gd b/objects/key/key.gd index dc34c20..f346015 100644 --- a/objects/key/key.gd +++ b/objects/key/key.gd @@ -1,11 +1,20 @@ extends StaticBody2D +enum KEY_COLOR{ + yellow, + red, + green, + blue +} +export(KEY_COLOR) var key_color = "yellow" + func _ready(): + $Sprite.texture = load("res://objects/key/assets/" + str(KEY_COLOR.keys()[key_color]) + ".svg") $Sprite/AnimationPlayer.play("default") func _on_PlayerCollision(body): if visible: - GlobalState.keys['yellow'] = true + GlobalState.keys[str(KEY_COLOR.keys()[key_color])] = true $SoundCollected.play() hide() diff --git a/scenes/levels/02/level_02.tscn b/scenes/levels/02/level_02.tscn index 31dc642..a3b3171 100644 --- a/scenes/levels/02/level_02.tscn +++ b/scenes/levels/02/level_02.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=12 format=2] [ext_resource path="res://scenes/levels/02/level_02.gd" type="Script" id=1] [ext_resource path="res://common/tiles/grasland.tres" type="TileSet" id=2] @@ -8,6 +8,9 @@ [ext_resource path="res://objects/characters/monsters/02/monster_02.tscn" type="PackedScene" id=6] [ext_resource path="res://objects/characters/monsters/01/monster_01.tscn" type="PackedScene" id=7] [ext_resource path="res://objects/falling_log/falling_log.tscn" type="PackedScene" id=8] +[ext_resource path="res://objects/characters/monsters/03/monster_03.tscn" type="PackedScene" id=9] +[ext_resource path="res://objects/key/key.tscn" type="PackedScene" id=10] +[ext_resource path="res://objects/coin/coin.tscn" type="PackedScene" id=11] [node name="Level 02" type="Node2D"] script = ExtResource( 1 ) @@ -17,7 +20,7 @@ clear_color = Color( 0, 0, 0, 1 ) camera_limit_bottom = 1190 [node name="Player" parent="." instance=ExtResource( 3 )] -position = Vector2( 350, 980 ) +position = Vector2( 2485, 875 ) scale = Vector2( 0.2, 0.2 ) background_scene = ExtResource( 4 ) @@ -26,13 +29,18 @@ position = Vector2( 980, 1050 ) sleep_down = 3.0 sleep_up = 1.0 +[node name="monster_03" parent="." instance=ExtResource( 6 )] +position = Vector2( 1260, -210 ) +sleep_down = 3.0 +sleep_up = 1.0 + [node name="Tiles" type="TileMap" parent="."] tile_set = ExtResource( 2 ) cell_size = Vector2( 70, 70 ) collision_layer = 4 collision_mask = 0 format = 1 -tile_data = PoolIntArray( 983033, 4, 0, 983034, 4, 0, 983035, 4, 0, 983036, 4, 0, 983037, 4, 0, 983038, 4, 0, 983039, 4, 0, 917504, 4, 0, 917505, 7, 0, 1048569, 5, 0, 1048570, 5, 0, 1048571, 5, 0, 1048572, 5, 0, 1048573, 5, 0, 1048574, 5, 0, 1048575, 5, 0, 983040, 5, 0, 983041, 8, 0, 983042, 4, 0, 983043, 4, 0, 983044, 4, 0, 983045, 4, 0, 983046, 4, 0, 983047, 4, 0, 983048, 4, 0, 983049, 4, 0, 983050, 4, 0, 983051, 4, 0, 983052, 4, 0, 983053, 4, 0, 983054, 15, 0, 983055, 11, 0, 983056, 11, 0, 983057, 11, 0, 983058, 11, 0, 983059, 11, 0, 983060, 11, 0, 983061, 11, 0, 983062, 11, 0, 983063, 11, 0, 983064, 11, 0, 983065, 11, 0, 983066, 11, 0, 983067, 11, 0, 983068, 11, 0, 983069, 11, 0, 983070, 14, 0, 983071, 4, 0, 983072, 4, 0, 983073, 4, 0, 983074, 4, 0, 983075, 4, 0, 983076, 4, 0, 983077, 4, 0, 983078, 4, 0, 983079, 4, 0, 1114105, 5, 0, 1114106, 5, 0, 1114107, 5, 0, 1114108, 5, 0, 1114109, 5, 0, 1114110, 5, 0, 1114111, 5, 0, 1048576, 5, 0, 1048577, 5, 0, 1048578, 5, 0, 1048579, 5, 0, 1048580, 5, 0, 1048581, 5, 0, 1048582, 5, 0, 1048583, 5, 0, 1048584, 5, 0, 1048585, 5, 0, 1048586, 5, 0, 1048587, 5, 0, 1048588, 5, 0, 1048589, 5, 0, 1048590, 5, 0, 1048591, 12, 0, 1048592, 12, 0, 1048593, 12, 0, 1048594, 12, 0, 1048595, 12, 0, 1048596, 12, 0, 1048597, 12, 0, 1048598, 12, 0, 1048599, 12, 0, 1048600, 12, 0, 1048601, 12, 0, 1048602, 12, 0, 1048603, 12, 0, 1048604, 12, 0, 1048605, 12, 0, 1048606, 5, 0, 1048607, 5, 0, 1048608, 5, 0, 1048609, 5, 0, 1048610, 5, 0, 1048611, 5, 0, 1048612, 5, 0, 1048613, 5, 0, 1048614, 5, 0, 1048615, 5, 0, 1179641, 5, 0, 1179642, 5, 0, 1179643, 5, 0, 1179644, 5, 0, 1179645, 5, 0, 1179646, 5, 0, 1179647, 5, 0, 1114112, 5, 0, 1114113, 5, 0, 1114114, 5, 0, 1114115, 5, 0, 1114116, 5, 0, 1114117, 5, 0, 1114118, 5, 0, 1114119, 5, 0, 1114120, 5, 0, 1114121, 5, 0, 1114122, 5, 0, 1114123, 5, 0, 1114124, 5, 0, 1114125, 5, 0, 1114126, 5, 0, 1114127, 12, 0, 1114128, 12, 0, 1114129, 12, 0, 1114130, 12, 0, 1114131, 12, 0, 1114132, 12, 0, 1114133, 12, 0, 1114134, 12, 0, 1114135, 12, 0, 1114136, 12, 0, 1114137, 12, 0, 1114138, 12, 0, 1114139, 12, 0, 1114140, 12, 0, 1114141, 12, 0, 1114142, 5, 0, 1114143, 5, 0, 1114144, 5, 0, 1114145, 5, 0, 1114146, 5, 0, 1114147, 5, 0, 1114148, 5, 0, 1114149, 5, 0, 1114150, 5, 0, 1114151, 5, 0, 1245177, 5, 0, 1245178, 5, 0, 1245179, 5, 0, 1245180, 5, 0, 1245181, 5, 0, 1245182, 5, 0, 1245183, 5, 0, 1179648, 5, 0, 1179649, 5, 0, 1179650, 5, 0, 1179651, 5, 0, 1179652, 5, 0, 1179653, 5, 0, 1179654, 5, 0, 1179655, 5, 0, 1179656, 5, 0, 1179657, 5, 0, 1179658, 5, 0, 1179659, 5, 0, 1179660, 5, 0, 1179661, 5, 0, 1179662, 5, 0, 1179663, 12, 0, 1179664, 12, 0, 1179665, 12, 0, 1179666, 12, 0, 1179667, 12, 0, 1179668, 12, 0, 1179669, 12, 0, 1179670, 12, 0, 1179671, 12, 0, 1179672, 12, 0, 1179673, 12, 0, 1179674, 12, 0, 1179675, 12, 0, 1179676, 12, 0, 1179677, 12, 0, 1179678, 5, 0, 1179679, 5, 0, 1179680, 5, 0, 1179681, 5, 0, 1179682, 5, 0, 1179683, 5, 0, 1179684, 5, 0, 1179685, 5, 0, 1179686, 5, 0, 1179687, 5, 0 ) +tile_data = PoolIntArray( -851924, 22, 0, -786390, 3, 1, -786389, 3, 65536, -786388, 3, 65537, -262128, 24, 0, -196594, 13, 1, -196593, 13, 2, -196592, 13, 2, -196591, 13, 2, -196590, 13, 3, -131058, 5, 0, -131057, 5, 0, -131056, 5, 0, -131055, 5, 0, -131054, 5, 0, -65522, 25, 0, -65521, 25, 0, -65520, 25, 0, -65519, 25, 0, -65518, 25, 0, 524329, 23, 0, 589864, 32, 0, 589865, 4, 0, 589866, 4, 0, 589867, 7, 0, 655400, 29, 0, 655401, 5, 0, 655402, 5, 0, 655403, 8, 0, 655404, 7, 0, 720935, 1, 0, 720936, 29, 0, 720937, 5, 0, 720938, 5, 0, 720939, 5, 0, 720940, 8, 0, 720941, 7, 0, 720943, 20, 0, 720945, 24, 0, 720964, 23, 0, 720969, 22, 0, 720970, 24, 0, 786472, 29, 0, 786473, 5, 0, 786474, 5, 0, 786475, 5, 0, 786476, 5, 0, 786477, 8, 0, 786478, 4, 0, 786479, 4, 0, 786480, 4, 0, 786481, 4, 0, 786482, 4, 0, 786483, 15, 0, 786484, 11, 0, 786485, 11, 0, 786486, 11, 0, 786487, 11, 0, 786488, 11, 0, 786489, 11, 0, 786490, 11, 0, 786491, 11, 0, 786492, 11, 0, 786493, 11, 0, 786494, 11, 0, 786495, 11, 0, 786496, 11, 0, 786497, 11, 0, 786498, 14, 0, 786499, 4, 0, 786500, 4, 0, 786501, 4, 0, 786502, 4, 0, 786503, 4, 0, 786504, 4, 0, 786505, 4, 0, 786506, 4, 0, 786507, 4, 0, 786508, 15, 0, 852008, 29, 0, 852009, 5, 0, 852010, 5, 0, 852011, 5, 0, 852012, 5, 0, 852013, 5, 0, 852014, 5, 0, 852015, 5, 0, 852016, 5, 0, 852017, 5, 0, 852018, 5, 0, 852019, 5, 0, 852020, 12, 0, 852021, 12, 0, 852022, 12, 0, 852023, 12, 0, 852024, 12, 0, 852025, 12, 0, 852026, 12, 0, 852027, 12, 0, 852028, 12, 0, 852029, 12, 0, 852030, 12, 0, 852031, 12, 0, 852032, 12, 0, 852033, 12, 0, 852034, 5, 0, 852035, 5, 0, 852036, 5, 0, 852037, 5, 0, 852038, 5, 0, 852039, 5, 0, 852040, 5, 0, 852041, 5, 0, 852042, 5, 0, 852043, 5, 0, 852044, 5, 0, 983033, 4, 0, 983034, 4, 0, 983035, 4, 0, 983036, 4, 0, 983037, 4, 0, 983038, 4, 0, 983039, 4, 0, 917504, 4, 0, 917505, 7, 0, 917512, 23, 0, 917516, 20, 0, 917538, 24, 0, 917541, 22, 0, 917542, 22, 0, 917544, 29, 0, 917545, 5, 0, 917546, 5, 0, 917547, 5, 0, 917548, 5, 0, 917549, 5, 0, 917550, 5, 0, 917551, 5, 0, 917552, 5, 0, 917553, 5, 0, 917554, 5, 0, 917555, 5, 0, 917556, 12, 0, 917557, 12, 0, 917558, 12, 0, 917559, 12, 0, 917560, 12, 0, 917561, 12, 0, 917562, 12, 0, 917563, 12, 0, 917564, 12, 0, 917565, 12, 0, 917566, 12, 0, 917567, 12, 0, 917568, 12, 0, 917569, 12, 0, 917570, 5, 0, 917571, 5, 0, 917572, 5, 0, 917573, 5, 0, 917574, 5, 0, 917575, 5, 0, 917576, 5, 0, 917577, 5, 0, 917578, 5, 0, 917579, 5, 0, 917580, 5, 0, 1048569, 5, 0, 1048570, 5, 0, 1048571, 5, 0, 1048572, 5, 0, 1048573, 5, 0, 1048574, 5, 0, 1048575, 5, 0, 983040, 5, 0, 983041, 8, 0, 983042, 4, 0, 983043, 4, 0, 983044, 4, 0, 983045, 4, 0, 983046, 4, 0, 983047, 4, 0, 983048, 4, 0, 983049, 4, 0, 983050, 4, 0, 983051, 4, 0, 983052, 4, 0, 983053, 4, 0, 983054, 15, 0, 983055, 11, 0, 983056, 11, 0, 983057, 11, 0, 983058, 11, 0, 983059, 11, 0, 983060, 11, 0, 983061, 11, 0, 983062, 11, 0, 983063, 11, 0, 983064, 11, 0, 983065, 11, 0, 983066, 11, 0, 983067, 11, 0, 983068, 11, 0, 983069, 11, 0, 983070, 14, 0, 983071, 4, 0, 983072, 4, 0, 983073, 4, 0, 983074, 4, 0, 983075, 4, 0, 983076, 4, 0, 983077, 4, 0, 983078, 4, 0, 983079, 4, 0, 983080, 10, 0, 983081, 5, 0, 983082, 5, 0, 983083, 5, 0, 983084, 5, 0, 983085, 5, 0, 983086, 5, 0, 983087, 5, 0, 983088, 5, 0, 983089, 5, 0, 983090, 5, 0, 983091, 5, 0, 983092, 12, 0, 983093, 12, 0, 983094, 12, 0, 983095, 12, 0, 983096, 12, 0, 983097, 12, 0, 983098, 12, 0, 983099, 12, 0, 983100, 12, 0, 983101, 12, 0, 983102, 12, 0, 983103, 12, 0, 983104, 12, 0, 983105, 12, 0, 983106, 5, 0, 983107, 5, 0, 983108, 5, 0, 983109, 5, 0, 983110, 5, 0, 983111, 5, 0, 983112, 5, 0, 983113, 5, 0, 983114, 5, 0, 983115, 5, 0, 983116, 5, 0, 1114105, 5, 0, 1114106, 5, 0, 1114107, 5, 0, 1114108, 5, 0, 1114109, 5, 0, 1114110, 5, 0, 1114111, 5, 0, 1048576, 5, 0, 1048577, 5, 0, 1048578, 5, 0, 1048579, 5, 0, 1048580, 5, 0, 1048581, 5, 0, 1048582, 5, 0, 1048583, 5, 0, 1048584, 5, 0, 1048585, 5, 0, 1048586, 5, 0, 1048587, 5, 0, 1048588, 5, 0, 1048589, 5, 0, 1048590, 5, 0, 1048591, 12, 0, 1048592, 12, 0, 1048593, 12, 0, 1048594, 12, 0, 1048595, 12, 0, 1048596, 12, 0, 1048597, 12, 0, 1048598, 12, 0, 1048599, 12, 0, 1048600, 12, 0, 1048601, 12, 0, 1048602, 12, 0, 1048603, 12, 0, 1048604, 12, 0, 1048605, 12, 0, 1048606, 5, 0, 1048607, 5, 0, 1048608, 5, 0, 1048609, 5, 0, 1048610, 5, 0, 1048611, 5, 0, 1048612, 5, 0, 1048613, 5, 0, 1048614, 5, 0, 1048615, 5, 0, 1048616, 5, 0, 1048617, 5, 0, 1048618, 5, 0, 1048619, 5, 0, 1048620, 5, 0, 1048621, 5, 0, 1048622, 5, 0, 1048623, 5, 0, 1048624, 5, 0, 1048625, 5, 0, 1048626, 5, 0, 1048627, 5, 0, 1048628, 12, 0, 1048629, 12, 0, 1048630, 12, 0, 1048631, 12, 0, 1048632, 12, 0, 1048633, 12, 0, 1048634, 12, 0, 1048635, 12, 0, 1048636, 12, 0, 1048637, 12, 0, 1048638, 12, 0, 1048639, 12, 0, 1048640, 12, 0, 1048641, 12, 0, 1048642, 5, 0, 1048643, 5, 0, 1048644, 5, 0, 1048645, 5, 0, 1048646, 5, 0, 1048647, 5, 0, 1048648, 5, 0, 1048649, 5, 0, 1048650, 5, 0, 1048651, 5, 0, 1048652, 5, 0, 1179641, 5, 0, 1179642, 5, 0, 1179643, 5, 0, 1179644, 5, 0, 1179645, 5, 0, 1179646, 5, 0, 1179647, 5, 0, 1114112, 5, 0, 1114113, 5, 0, 1114114, 5, 0, 1114115, 5, 0, 1114116, 5, 0, 1114117, 5, 0, 1114118, 5, 0, 1114119, 5, 0, 1114120, 5, 0, 1114121, 5, 0, 1114122, 5, 0, 1114123, 5, 0, 1114124, 5, 0, 1114125, 5, 0, 1114126, 5, 0, 1114127, 12, 0, 1114128, 12, 0, 1114129, 12, 0, 1114130, 12, 0, 1114131, 12, 0, 1114132, 12, 0, 1114133, 12, 0, 1114134, 12, 0, 1114135, 12, 0, 1114136, 12, 0, 1114137, 12, 0, 1114138, 12, 0, 1114139, 12, 0, 1114140, 12, 0, 1114141, 12, 0, 1114142, 5, 0, 1114143, 5, 0, 1114144, 5, 0, 1114145, 5, 0, 1114146, 5, 0, 1114147, 5, 0, 1114148, 5, 0, 1114149, 5, 0, 1114150, 5, 0, 1114151, 5, 0, 1114152, 5, 0, 1114153, 5, 0, 1114154, 5, 0, 1114155, 5, 0, 1114156, 5, 0, 1114157, 5, 0, 1114158, 5, 0, 1114159, 5, 0, 1114160, 5, 0, 1114161, 5, 0, 1114162, 5, 0, 1114163, 5, 0, 1114164, 12, 0, 1114165, 12, 0, 1114166, 12, 0, 1114167, 12, 0, 1114168, 12, 0, 1114169, 12, 0, 1114170, 12, 0, 1114171, 12, 0, 1114172, 12, 0, 1114173, 12, 0, 1114174, 12, 0, 1114175, 12, 0, 1114176, 12, 0, 1114177, 12, 0, 1114178, 5, 0, 1114179, 5, 0, 1114180, 5, 0, 1114181, 5, 0, 1114182, 5, 0, 1114183, 5, 0, 1114184, 5, 0, 1114185, 5, 0, 1114186, 5, 0, 1114187, 5, 0, 1114188, 5, 0, 1245177, 5, 0, 1245178, 5, 0, 1245179, 5, 0, 1245180, 5, 0, 1245181, 5, 0, 1245182, 5, 0, 1245183, 5, 0, 1179648, 5, 0, 1179649, 5, 0, 1179650, 5, 0, 1179651, 5, 0, 1179652, 5, 0, 1179653, 5, 0, 1179654, 5, 0, 1179655, 5, 0, 1179656, 5, 0, 1179657, 5, 0, 1179658, 5, 0, 1179659, 5, 0, 1179660, 5, 0, 1179661, 5, 0, 1179662, 5, 0, 1179663, 12, 0, 1179664, 12, 0, 1179665, 12, 0, 1179666, 12, 0, 1179667, 12, 0, 1179668, 12, 0, 1179669, 12, 0, 1179670, 12, 0, 1179671, 12, 0, 1179672, 12, 0, 1179673, 12, 0, 1179674, 12, 0, 1179675, 12, 0, 1179676, 12, 0, 1179677, 12, 0, 1179678, 5, 0, 1179679, 5, 0, 1179680, 5, 0, 1179681, 5, 0, 1179682, 5, 0, 1179683, 5, 0, 1179684, 5, 0, 1179685, 5, 0, 1179686, 5, 0, 1179687, 5, 0, 1179688, 5, 0, 1179689, 5, 0, 1179690, 5, 0, 1179691, 5, 0, 1179692, 5, 0, 1179693, 5, 0, 1179694, 5, 0, 1179695, 5, 0, 1179696, 5, 0, 1179697, 5, 0, 1179698, 5, 0, 1179699, 5, 0, 1179700, 12, 0, 1179701, 12, 0, 1179702, 12, 0, 1179703, 12, 0, 1179704, 12, 0, 1179705, 12, 0, 1179706, 12, 0, 1179707, 12, 0, 1179708, 12, 0, 1179709, 12, 0, 1179710, 12, 0, 1179711, 12, 0, 1179712, 12, 0, 1179713, 12, 0, 1179714, 5, 0, 1179715, 5, 0, 1179716, 5, 0, 1179717, 5, 0, 1179718, 5, 0, 1179719, 5, 0, 1179720, 5, 0, 1179721, 5, 0, 1179722, 5, 0, 1179723, 5, 0, 1179724, 5, 0 ) [node name="CanvasModulate" type="CanvasModulate" parent="."] color = Color( 0.501961, 0.501961, 0.501961, 1 ) @@ -48,11 +56,147 @@ position = Vector2( 175, 770 ) [node name="monster_01" parent="." instance=ExtResource( 7 )] position = Vector2( 2205, 1015 ) +[node name="monster_04" parent="." instance=ExtResource( 7 )] +position = Vector2( 3360, 805 ) + [node name="FallingLog" parent="." instance=ExtResource( 8 )] position = Vector2( 1260, 1050 ) +recover_time = 5.0 + +[node name="FallingLog4" parent="." instance=ExtResource( 8 )] +position = Vector2( 2380, 70 ) +recover_time = 0.0 + +[node name="FallingLog19" parent="." instance=ExtResource( 8 )] +position = Vector2( 2660, 350 ) +recover_time = 0.0 + +[node name="FallingLog5" parent="." instance=ExtResource( 8 )] +position = Vector2( 1995, 0 ) +recover_time = 0.0 + +[node name="FallingLog6" parent="." instance=ExtResource( 8 )] +position = Vector2( 1610, -105 ) +recover_time = 0.0 + +[node name="FallingLog7" parent="." instance=ExtResource( 8 )] +position = Vector2( 1610, -420 ) +recover_time = 0.0 + +[node name="FallingLog8" parent="." instance=ExtResource( 8 )] +position = Vector2( 1890, -560 ) +recover_time = 0.0 + +[node name="FallingLog9" parent="." instance=ExtResource( 8 )] +position = Vector2( 2135, -735 ) +recover_time = 0.0 + +[node name="FallingLog10" parent="." instance=ExtResource( 8 )] +position = Vector2( 2485, -560 ) +recover_time = 0.0 + +[node name="FallingLog11" parent="." instance=ExtResource( 8 )] +position = Vector2( 2730, -700 ) +recover_time = 0.0 + +[node name="FallingLog12" parent="." instance=ExtResource( 8 )] +position = Vector2( 2800, -1050 ) +recover_time = 0.0 + +[node name="FallingLog13" parent="." instance=ExtResource( 8 )] +position = Vector2( 2555, -1225 ) +recover_time = 0.0 + +[node name="FallingLog14" parent="." instance=ExtResource( 8 )] +position = Vector2( 2275, -1260 ) +recover_time = 0.0 + +[node name="FallingLog15" parent="." instance=ExtResource( 8 )] +position = Vector2( 1960, -1330 ) +recover_time = 0.0 + +[node name="FallingLog16" parent="." instance=ExtResource( 8 )] +position = Vector2( 1610, -1260 ) +recover_time = 0.0 + +[node name="FallingLog17" parent="." instance=ExtResource( 8 )] +position = Vector2( 1120, -1120 ) +recover_time = 0.0 + +[node name="FallingLog18" parent="." instance=ExtResource( 8 )] +position = Vector2( 840, -1330 ) +recover_time = 0.0 [node name="FallingLog2" parent="." instance=ExtResource( 8 )] position = Vector2( 1575, 1050 ) +recover_time = 5.0 [node name="FallingLog3" parent="." instance=ExtResource( 8 )] position = Vector2( 1890, 1050 ) +recover_time = 5.0 + +[node name="FallingLog20" parent="." instance=ExtResource( 8 )] +position = Vector2( 3885, 805 ) +recover_time = 5.0 + +[node name="FallingLog21" parent="." instance=ExtResource( 8 )] +position = Vector2( 4340, 805 ) +recover_time = 5.0 + +[node name="Key" parent="." instance=ExtResource( 10 )] +position = Vector2( 1085, -280 ) + +[node name="Key2" parent="." instance=ExtResource( 10 )] +position = Vector2( 3010, -910 ) +key_color = 3 + +[node name="Coin" parent="." instance=ExtResource( 11 )] +position = Vector2( 1120, -1330 ) +type = 2 + +[node name="Coin2" parent="." instance=ExtResource( 11 )] +position = Vector2( 1120, -1470 ) +type = 2 + +[node name="Coin3" parent="." instance=ExtResource( 11 )] +position = Vector2( 1120, -1610 ) +type = 2 + +[node name="Coin4" parent="." instance=ExtResource( 11 )] +position = Vector2( 1015, -1540 ) +type = 2 + +[node name="Coin5" parent="." instance=ExtResource( 11 )] +position = Vector2( 1225, -1540 ) +type = 2 + +[node name="Coin6" parent="." instance=ExtResource( 11 )] +position = Vector2( 1225, -1400 ) +type = 2 + +[node name="Coin7" parent="." instance=ExtResource( 11 )] +position = Vector2( 1015, -1400 ) +type = 2 + +[node name="monster_05" parent="." instance=ExtResource( 9 )] +margin_left = 3080.0 +margin_top = 385.0 +margin_right = 5180.0 +margin_bottom = 910.0 +rect_pivot_offset = Vector2( 1225, 0 ) + +[node name="monster_06" parent="." instance=ExtResource( 9 )] +margin_left = 3640.0 +margin_top = 490.0 +margin_right = 4620.0 +margin_bottom = 910.0 +rect_pivot_offset = Vector2( 1225, 0 ) +speed = 4.0 + +[node name="monster_07" parent="." instance=ExtResource( 9 )] +margin_left = 2800.0 +margin_top = 280.0 +margin_right = 5390.0 +margin_bottom = 910.0 +rect_pivot_offset = Vector2( 1225, 0 ) +speed = 6.0 diff --git a/scenes/main.gd b/scenes/main.gd index 66f4deb..526ab97 100644 --- a/scenes/main.gd +++ b/scenes/main.gd @@ -19,6 +19,7 @@ func load_level(next_scene := level_path, fade_out : bool = false): current_level.queue_free() remove_child(current_level) current_level = load(next_scene).instance() + GlobalState.player = current_level.get_node("Player") level_path = next_scene $HUD.hud_visible(current_level.hud_visible) $HUD.set_font_color(current_level.hud_color)