Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7946fd789c | ||
|
|
08f75b79d8 | ||
|
|
2e845bf217 | ||
|
|
e7e72f6109 | ||
|
|
a9c2f587da | ||
|
|
30b0a527b4 | ||
|
|
3d318a5c07 | ||
|
|
6860fda89c |
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bivvbepth8ko2"
|
||||||
|
path="res://.godot/imported/bg-1-3.png-149608b6f5f53810a256bf60fdfa8120.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/bg-1-3.png"
|
||||||
|
dest_files=["res://.godot/imported/bg-1-3.png-149608b6f5f53810a256bf60fdfa8120.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cbcqfbbrmin4n"
|
||||||
|
path="res://.godot/imported/bg-1-4.png-b634dd427392b4b4f79ec130b6e42b89.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/bg-1-4.png"
|
||||||
|
dest_files=["res://.godot/imported/bg-1-4.png-b634dd427392b4b4f79ec130b6e42b89.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dpsuhnumiv82j"
|
||||||
|
path="res://.godot/imported/bg-2-1.png-5097df23ce250700d0d91ce99bc5a171.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/bg-2-1.png"
|
||||||
|
dest_files=["res://.godot/imported/bg-2-1.png-5097df23ce250700d0d91ce99bc5a171.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://dpcasau50jn28"
|
||||||
|
path="res://.godot/imported/04. Castle Theme.mp3-7bb3145a500b4414d1e91508ab6bd85a.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/04. Castle Theme.mp3"
|
||||||
|
dest_files=["res://.godot/imported/04. Castle Theme.mp3-7bb3145a500b4414d1e91508ab6bd85a.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=true
|
||||||
|
loop_offset=0.0
|
||||||
|
bpm=0.0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://d33nllvmlw3oh"
|
||||||
|
path="res://.godot/imported/07. Castle Complete.mp3-d4fc76ed9c48e387466ba00be9c041a9.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/07. Castle Complete.mp3"
|
||||||
|
dest_files=["res://.godot/imported/07. Castle Complete.mp3-d4fc76ed9c48e387466ba00be9c041a9.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0
|
||||||
|
bpm=0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
+6
-6
@@ -8,7 +8,7 @@ custom_features=""
|
|||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Linux/retromario.x86_64"
|
export_path="../../../../../home/jonas/Schreibtisch/Export_Linux/retromario.x86_64"
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
encrypt_pck=false
|
encrypt_pck=false
|
||||||
@@ -48,7 +48,7 @@ custom_features=""
|
|||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Windows/retromario.exe"
|
export_path="../../../../../home/jonas/Schreibtisch/Export_Windows/retromario.exe"
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
encrypt_pck=false
|
encrypt_pck=false
|
||||||
@@ -314,7 +314,7 @@ custom_features=""
|
|||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Mac/retromario.zip"
|
export_path="../../../../../home/jonas/Schreibtisch/Export_Mac/retromario.zip"
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
encrypt_pck=false
|
encrypt_pck=false
|
||||||
@@ -419,7 +419,7 @@ custom_features=""
|
|||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Web/retromario.html"
|
export_path="../../../../../home/jonas/Schreibtisch/Export_Web/retromario.html"
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
encrypt_pck=false
|
encrypt_pck=false
|
||||||
@@ -438,10 +438,10 @@ html/head_include=""
|
|||||||
html/canvas_resize_policy=2
|
html/canvas_resize_policy=2
|
||||||
html/focus_canvas_on_start=true
|
html/focus_canvas_on_start=true
|
||||||
html/experimental_virtual_keyboard=false
|
html/experimental_virtual_keyboard=false
|
||||||
progressive_web_app/enabled=false
|
progressive_web_app/enabled=true
|
||||||
progressive_web_app/offline_page=""
|
progressive_web_app/offline_page=""
|
||||||
progressive_web_app/display=1
|
progressive_web_app/display=1
|
||||||
progressive_web_app/orientation=0
|
progressive_web_app/orientation=1
|
||||||
progressive_web_app/icon_144x144=""
|
progressive_web_app/icon_144x144=""
|
||||||
progressive_web_app/icon_180x180=""
|
progressive_web_app/icon_180x180=""
|
||||||
progressive_web_app/icon_512x512=""
|
progressive_web_app/icon_512x512=""
|
||||||
|
|||||||
+2
-7
@@ -20,7 +20,7 @@ config/icon="res://assets/icon.png"
|
|||||||
[display]
|
[display]
|
||||||
|
|
||||||
window/stretch/mode="viewport"
|
window/stretch/mode="viewport"
|
||||||
window/stretch/aspect="keep_height"
|
window/vsync/vsync_mode=0
|
||||||
|
|
||||||
[global]
|
[global]
|
||||||
|
|
||||||
@@ -64,14 +64,10 @@ crawl={
|
|||||||
flower={
|
flower={
|
||||||
"deadzone": 0.5,
|
"deadzone": 0.5,
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"echo":false,"script":null)
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"echo":false,"script":null)
|
||||||
|
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
[input_devices]
|
|
||||||
|
|
||||||
pointing/emulate_touch_from_mouse=true
|
|
||||||
pointing/emulate_mouse_from_touch=false
|
|
||||||
|
|
||||||
[physics]
|
[physics]
|
||||||
|
|
||||||
2d/physics_engine="GodotPhysics2D"
|
2d/physics_engine="GodotPhysics2D"
|
||||||
@@ -81,4 +77,3 @@ pointing/emulate_mouse_from_touch=false
|
|||||||
|
|
||||||
textures/canvas_textures/default_texture_filter=0
|
textures/canvas_textures/default_texture_filter=0
|
||||||
textures/vram_compression/import_etc2_astc=true
|
textures/vram_compression/import_etc2_astc=true
|
||||||
environment/defaults/default_clear_color=Color(1, 1, 1, 1)
|
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
[gd_scene load_steps=4 format=3 uid="uid://badk308gvg1my"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/blocks/itemblock_invisible.gd" id="1_ap62p"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4kmo0"]
|
||||||
|
size = Vector2(16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_enc16"]
|
||||||
|
size = Vector2(10, 1)
|
||||||
|
|
||||||
|
[node name="itemblock_invisible" type="RigidBody2D"]
|
||||||
|
gravity_scale = 0.0
|
||||||
|
script = ExtResource("1_ap62p")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_4kmo0")
|
||||||
|
|
||||||
|
[node name="activate" type="Area2D" parent="."]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="activate"]
|
||||||
|
position = Vector2(8, 0.5)
|
||||||
|
shape = SubResource("RectangleShape2D_enc16")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="activate" to="." method="_on_activate_body_entered"]
|
||||||
@@ -18,7 +18,7 @@ animations = [{
|
|||||||
"speed": 5.0
|
"speed": 5.0
|
||||||
}]
|
}]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_w18em"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_aoc4r"]
|
||||||
size = Vector2(48, 8)
|
size = Vector2(48, 8)
|
||||||
|
|
||||||
[node name="MovePlatform" type="RigidBody2D"]
|
[node name="MovePlatform" type="RigidBody2D"]
|
||||||
@@ -33,5 +33,5 @@ veloc = Vector2(0, 50)
|
|||||||
sprite_frames = SubResource("SpriteFrames_hdxpr")
|
sprite_frames = SubResource("SpriteFrames_hdxpr")
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource("RectangleShape2D_w18em")
|
shape = SubResource("RectangleShape2D_aoc4r")
|
||||||
one_way_collision = true
|
one_way_collision = true
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://btwegds3up8cn"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_pvodq"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c4pt3"]
|
||||||
|
size = Vector2(48, 8)
|
||||||
|
|
||||||
|
[node name="Platform" type="AnimatableBody2D"]
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
z_index = 20
|
||||||
|
texture = ExtResource("1_pvodq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(63, 38, 48, 8)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
shape = SubResource("RectangleShape2D_c4pt3")
|
||||||
|
one_way_collision = true
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://bobox153pirkx"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_7tugu"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c4pt3"]
|
||||||
|
size = Vector2(32, 8)
|
||||||
|
|
||||||
|
[node name="Platform" type="AnimatableBody2D"]
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
z_index = 20
|
||||||
|
texture = ExtResource("1_7tugu")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(26, 38, 32, 8)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
shape = SubResource("RectangleShape2D_c4pt3")
|
||||||
|
one_way_collision = true
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
[gd_scene load_steps=9 format=3 uid="uid://43ujxqfabnuq"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_7p65b"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/enemies/bowser_jr_fire.gd" id="1_tnrjq"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://csx5laixrg5dh" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Enemy Fire.wav" id="3_i70fm"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_4dnoh"]
|
||||||
|
atlas = ExtResource("1_7p65b")
|
||||||
|
region = Rect2(101, 253, 24, 8)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_7tb0p"]
|
||||||
|
atlas = ExtResource("1_7p65b")
|
||||||
|
region = Rect2(131, 253, 24, 8)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_kv1f5"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_4dnoh")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_7tb0p")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 10.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_axybf"]
|
||||||
|
size = Vector2(24, 8)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mxod3"]
|
||||||
|
size = Vector2(24, 8)
|
||||||
|
|
||||||
|
[node name="BowserJRFire" type="Area2D"]
|
||||||
|
collision_layer = 128
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_tnrjq")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(-12, 0)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_kv1f5")
|
||||||
|
autoplay = "default"
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(-12, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_axybf")
|
||||||
|
|
||||||
|
[node name="die" type="Area2D" parent="."]
|
||||||
|
collision_layer = 2147483648
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="die"]
|
||||||
|
position = Vector2(-12, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_mxod3")
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||||
|
stream = ExtResource("3_i70fm")
|
||||||
|
autoplay = true
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered_player"]
|
||||||
|
[connection signal="body_entered" from="die" to="." method="_on_die_body_entered"]
|
||||||
|
[connection signal="finished" from="AudioStreamPlayer2D" to="." method="_on_audio_stream_player_2d_finished"]
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
[gd_scene load_steps=11 format=3 uid="uid://byk5q0ddm54hi"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/enemies/bowserjr.gd" id="1_0ucqp"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_q71vc"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jv53y"]
|
||||||
|
atlas = ExtResource("1_q71vc")
|
||||||
|
region = Rect2(122, 211, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_1tyng"]
|
||||||
|
atlas = ExtResource("1_q71vc")
|
||||||
|
region = Rect2(82, 211, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_q2270"]
|
||||||
|
atlas = ExtResource("1_q71vc")
|
||||||
|
region = Rect2(2, 211, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_3jf1h"]
|
||||||
|
atlas = ExtResource("1_q71vc")
|
||||||
|
region = Rect2(42, 211, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_xw3te"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jv53y")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_1tyng")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_q2270")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_3jf1h")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"open_mouth",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_tvg0d"]
|
||||||
|
radius = 16.0
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_pjtcx"]
|
||||||
|
resource_name = "default"
|
||||||
|
length = 6.0
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "method"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(3, 5.9),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"values": [{
|
||||||
|
"args": [],
|
||||||
|
"method": &"shoot"
|
||||||
|
}, {
|
||||||
|
"args": [],
|
||||||
|
"method": &"jump"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
tracks/1/type = "method"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath(".")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(6),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"values": [{
|
||||||
|
"args": [],
|
||||||
|
"method": &"shoot"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_y7g55"]
|
||||||
|
_data = {
|
||||||
|
"default": SubResource("Animation_pjtcx")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="bowserjr" type="RigidBody2D"]
|
||||||
|
collision_layer = 128
|
||||||
|
gravity_scale = 0.6
|
||||||
|
script = ExtResource("1_0ucqp")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(16, -16)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_xw3te")
|
||||||
|
animation = &"open_mouth"
|
||||||
|
autoplay = "default"
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(16, -16)
|
||||||
|
shape = SubResource("CircleShape2D_tvg0d")
|
||||||
|
|
||||||
|
[node name="ShootSpawner" type="Node2D" parent="."]
|
||||||
|
position = Vector2(0, -22)
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
libraries = {
|
||||||
|
"": SubResource("AnimationLibrary_y7g55")
|
||||||
|
}
|
||||||
|
autoplay = "default"
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="."]
|
||||||
|
wait_time = 0.5
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||||
@@ -0,0 +1,238 @@
|
|||||||
|
[gd_scene load_steps=6 format=3 uid="uid://d0npbb0w73ajk"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cbcqfbbrmin4n" path="res://assets/bg-1-4.png" id="1_gsxjq"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/enemies/bridge.gd" id="1_itywv"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://d33nllvmlw3oh" path="res://assets/sounds/07. Castle Complete.mp3" id="3_aqpeh"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7th4j"]
|
||||||
|
size = Vector2(16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6td4j"]
|
||||||
|
size = Vector2(16, 16)
|
||||||
|
|
||||||
|
[node name="bridge" type="Node2D"]
|
||||||
|
script = ExtResource("1_itywv")
|
||||||
|
|
||||||
|
[node name="RigidBody2D" type="RigidBody2D" parent="."]
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D2" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(16, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D2"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D2"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D3" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(32, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D3"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D3"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D4" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(48, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D4"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D4"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D5" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(64, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D5"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D5"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D6" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(80, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D6"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D6"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D7" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(96, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D7"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D7"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D8" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(112, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D8"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D8"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D9" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(128, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D9"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D9"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D10" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(144, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D10"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D10"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D11" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(160, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D11"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D11"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D12" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(176, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D12"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D12"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="RigidBody2D13" type="RigidBody2D" parent="."]
|
||||||
|
position = Vector2(192, 0)
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D13"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2048, 160, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D13"]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_7th4j")
|
||||||
|
|
||||||
|
[node name="chain" type="Sprite2D" parent="."]
|
||||||
|
position = Vector2(200, -24)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2240, 144, 16, 16)
|
||||||
|
|
||||||
|
[node name="Area2D" type="Area2D" parent="."]
|
||||||
|
collision_layer = 2
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="Sprite2D15" type="Sprite2D" parent="Area2D"]
|
||||||
|
position = Vector2(216, -40)
|
||||||
|
texture = ExtResource("1_gsxjq")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2256, 128, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||||
|
position = Vector2(216, -40)
|
||||||
|
shape = SubResource("RectangleShape2D_6td4j")
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="."]
|
||||||
|
wait_time = 0.2
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource("3_aqpeh")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
|
||||||
|
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||||
|
[connection signal="finished" from="AudioStreamPlayer" to="." method="_on_audio_stream_player_finished"]
|
||||||
@@ -51,6 +51,7 @@ lock_rotation = true
|
|||||||
script = ExtResource("1_iin32")
|
script = ExtResource("1_iin32")
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
z_index = 3
|
||||||
position = Vector2(8, -12)
|
position = Vector2(8, -12)
|
||||||
sprite_frames = SubResource("SpriteFrames_g2x7m")
|
sprite_frames = SubResource("SpriteFrames_g2x7m")
|
||||||
autoplay = "default"
|
autoplay = "default"
|
||||||
@@ -62,7 +63,7 @@ shape = SubResource("CapsuleShape2D_8406q")
|
|||||||
[node name="RayCastLeft" type="RayCast2D" parent="."]
|
[node name="RayCastLeft" type="RayCast2D" parent="."]
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
target_position = Vector2(-8, 0)
|
target_position = Vector2(-8, 0)
|
||||||
collision_mask = 17
|
collision_mask = 145
|
||||||
|
|
||||||
[node name="RayCastLeft2" type="RayCast2D" parent="."]
|
[node name="RayCastLeft2" type="RayCast2D" parent="."]
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
@@ -77,7 +78,7 @@ collision_mask = 128
|
|||||||
[node name="RayCastRight" type="RayCast2D" parent="."]
|
[node name="RayCastRight" type="RayCast2D" parent="."]
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
target_position = Vector2(8, 0)
|
target_position = Vector2(8, 0)
|
||||||
collision_mask = 17
|
collision_mask = 145
|
||||||
|
|
||||||
[node name="RayCastRight2" type="RayCast2D" parent="."]
|
[node name="RayCastRight2" type="RayCast2D" parent="."]
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
|
|||||||
@@ -0,0 +1,95 @@
|
|||||||
|
[gd_scene load_steps=9 format=3 uid="uid://b4rid627344t4"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_gwkcq"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/enemies/fire_wand.gd" id="1_lapua"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_yd1fw"]
|
||||||
|
atlas = ExtResource("1_gwkcq")
|
||||||
|
region = Rect2(26, 150, 8, 8)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_owi6g"]
|
||||||
|
atlas = ExtResource("1_gwkcq")
|
||||||
|
region = Rect2(41, 150, 8, 8)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_e5nv8"]
|
||||||
|
atlas = ExtResource("1_gwkcq")
|
||||||
|
region = Rect2(26, 165, 8, 8)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5oy1g"]
|
||||||
|
atlas = ExtResource("1_gwkcq")
|
||||||
|
region = Rect2(41, 165, 8, 8)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_6y4se"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_yd1fw")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_owi6g")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_e5nv8")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_5oy1g")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2qrrp"]
|
||||||
|
size = Vector2(58, 8)
|
||||||
|
|
||||||
|
[node name="fire_wand" type="Area2D"]
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_lapua")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||||
|
autoplay = "default"
|
||||||
|
frame = 1
|
||||||
|
frame_progress = 0.284379
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D3" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(10, 0)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||||
|
autoplay = "default"
|
||||||
|
frame_progress = 0.428306
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D2" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(20, 0)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||||
|
autoplay = "default"
|
||||||
|
frame = 1
|
||||||
|
frame_progress = 0.284379
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D4" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(30, 0)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||||
|
autoplay = "default"
|
||||||
|
frame_progress = 0.428306
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D5" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(40, 0)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||||
|
autoplay = "default"
|
||||||
|
frame = 1
|
||||||
|
frame_progress = 0.284379
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D6" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(50, 0)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||||
|
autoplay = "default"
|
||||||
|
frame_progress = 0.428306
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(25, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_2qrrp")
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="."]
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||||
|
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||||
@@ -50,6 +50,7 @@ lock_rotation = true
|
|||||||
script = ExtResource("1_o30u3")
|
script = ExtResource("1_o30u3")
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
z_index = 3
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
sprite_frames = SubResource("SpriteFrames_xnecu")
|
sprite_frames = SubResource("SpriteFrames_xnecu")
|
||||||
autoplay = "default"
|
autoplay = "default"
|
||||||
@@ -61,7 +62,7 @@ shape = SubResource("CircleShape2D_l4q7u")
|
|||||||
[node name="RayCastLeft" type="RayCast2D" parent="."]
|
[node name="RayCastLeft" type="RayCast2D" parent="."]
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
target_position = Vector2(-9, 0)
|
target_position = Vector2(-9, 0)
|
||||||
collision_mask = 17
|
collision_mask = 145
|
||||||
|
|
||||||
[node name="RayCastLeft2" type="RayCast2D" parent="."]
|
[node name="RayCastLeft2" type="RayCast2D" parent="."]
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
@@ -71,7 +72,7 @@ collision_mask = 2
|
|||||||
[node name="RayCastRight" type="RayCast2D" parent="."]
|
[node name="RayCastRight" type="RayCast2D" parent="."]
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
target_position = Vector2(9, 0)
|
target_position = Vector2(9, 0)
|
||||||
collision_mask = 17
|
collision_mask = 145
|
||||||
|
|
||||||
[node name="RayCastRight2" type="RayCast2D" parent="."]
|
[node name="RayCastRight2" type="RayCast2D" parent="."]
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ can_sleep = false
|
|||||||
script = ExtResource("1_c103u")
|
script = ExtResource("1_c103u")
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
z_index = 20
|
||||||
sprite_frames = SubResource("SpriteFrames_unbxs")
|
sprite_frames = SubResource("SpriteFrames_unbxs")
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
|||||||
@@ -0,0 +1,80 @@
|
|||||||
|
[gd_scene load_steps=11 format=3 uid="uid://cwhx0kcemeyx"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/blocks/itemblock.gd" id="1_rbj5t"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bp71ntkh281k5" path="res://scenes/items/fire_flower.tscn" id="2_ov77e"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="3_v5sih"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_lo6hv"]
|
||||||
|
atlas = ExtResource("3_v5sih")
|
||||||
|
region = Rect2(4, 4, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ghd0r"]
|
||||||
|
atlas = ExtResource("3_v5sih")
|
||||||
|
region = Rect2(34, 4, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5py80"]
|
||||||
|
atlas = ExtResource("3_v5sih")
|
||||||
|
region = Rect2(64, 4, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_4m3oc"]
|
||||||
|
atlas = ExtResource("3_v5sih")
|
||||||
|
region = Rect2(4, 4, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_r54gk"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_lo6hv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ghd0r")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_5py80")
|
||||||
|
}],
|
||||||
|
"loop": false,
|
||||||
|
"name": &"destroy",
|
||||||
|
"speed": 10.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_4m3oc")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"idle",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4kmo0"]
|
||||||
|
size = Vector2(16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_enc16"]
|
||||||
|
size = Vector2(10, 1)
|
||||||
|
|
||||||
|
[node name="itemblock" type="RigidBody2D"]
|
||||||
|
gravity_scale = 0.0
|
||||||
|
script = ExtResource("1_rbj5t")
|
||||||
|
hit_object = ExtResource("2_ov77e")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_r54gk")
|
||||||
|
animation = &"destroy"
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_4kmo0")
|
||||||
|
|
||||||
|
[node name="activate" type="Area2D" parent="."]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="activate"]
|
||||||
|
position = Vector2(8, 0.5)
|
||||||
|
shape = SubResource("RectangleShape2D_enc16")
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="."]
|
||||||
|
wait_time = 0.3
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="activate" to="." method="_on_activate_body_entered"]
|
||||||
|
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
[gd_scene load_steps=11 format=3 uid="uid://d032da33bfwtu"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/blocks/itemblock.gd" id="1_3b5hu"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="2_iid7x"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://b4dp88urmm7g8" path="res://scenes/items/mushroom.tscn" id="2_np1mh"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_lo6hv"]
|
||||||
|
atlas = ExtResource("2_iid7x")
|
||||||
|
region = Rect2(4, 4, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ghd0r"]
|
||||||
|
atlas = ExtResource("2_iid7x")
|
||||||
|
region = Rect2(34, 4, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5py80"]
|
||||||
|
atlas = ExtResource("2_iid7x")
|
||||||
|
region = Rect2(64, 4, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_4m3oc"]
|
||||||
|
atlas = ExtResource("2_iid7x")
|
||||||
|
region = Rect2(4, 4, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_r54gk"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_lo6hv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ghd0r")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_5py80")
|
||||||
|
}],
|
||||||
|
"loop": false,
|
||||||
|
"name": &"destroy",
|
||||||
|
"speed": 10.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_4m3oc")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"idle",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4kmo0"]
|
||||||
|
size = Vector2(16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_enc16"]
|
||||||
|
size = Vector2(10, 1)
|
||||||
|
|
||||||
|
[node name="itemblock" type="RigidBody2D"]
|
||||||
|
gravity_scale = 0.0
|
||||||
|
script = ExtResource("1_3b5hu")
|
||||||
|
hit_object = ExtResource("2_np1mh")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_r54gk")
|
||||||
|
animation = &"destroy"
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(8, -8)
|
||||||
|
shape = SubResource("RectangleShape2D_4kmo0")
|
||||||
|
|
||||||
|
[node name="activate" type="Area2D" parent="."]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="activate"]
|
||||||
|
position = Vector2(8, 0.5)
|
||||||
|
shape = SubResource("RectangleShape2D_enc16")
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="."]
|
||||||
|
wait_time = 0.3
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="activate" to="." method="_on_activate_body_entered"]
|
||||||
|
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
[gd_scene load_steps=8 format=3 uid="uid://daaajdv7ve15a"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_cnc0s"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/items/jump_thing.gd" id="1_nrv87"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jjx8i"]
|
||||||
|
atlas = ExtResource("1_cnc0s")
|
||||||
|
region = Rect2(94, 0, 16, 24)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8phfu"]
|
||||||
|
atlas = ExtResource("1_cnc0s")
|
||||||
|
region = Rect2(154, 8, 16, 8)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_1s1v4"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jjx8i")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_8phfu")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"down",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mnewg"]
|
||||||
|
size = Vector2(14, 25)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_luw3y"]
|
||||||
|
size = Vector2(16, 24)
|
||||||
|
|
||||||
|
[node name="jump_thing" type="Node2D"]
|
||||||
|
script = ExtResource("1_nrv87")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(8, -12)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_1s1v4")
|
||||||
|
animation = &"down"
|
||||||
|
autoplay = "default"
|
||||||
|
|
||||||
|
[node name="Area2D" type="Area2D" parent="."]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||||
|
position = Vector2(8, -12.5)
|
||||||
|
shape = SubResource("RectangleShape2D_mnewg")
|
||||||
|
|
||||||
|
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
|
||||||
|
position = Vector2(8, -12)
|
||||||
|
shape = SubResource("RectangleShape2D_luw3y")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
|
||||||
|
[connection signal="body_exited" from="Area2D" to="." method="_on_area_2d_body_exited"]
|
||||||
@@ -105,6 +105,7 @@ lock_rotation = true
|
|||||||
script = ExtResource("1_qo5bm")
|
script = ExtResource("1_qo5bm")
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
z_index = 20
|
||||||
position = Vector2(8, -8)
|
position = Vector2(8, -8)
|
||||||
sprite_frames = SubResource("SpriteFrames_s232e")
|
sprite_frames = SubResource("SpriteFrames_s232e")
|
||||||
autoplay = "default"
|
autoplay = "default"
|
||||||
|
|||||||
@@ -21,14 +21,15 @@ anchor_left = 0.5
|
|||||||
anchor_top = 0.5
|
anchor_top = 0.5
|
||||||
anchor_right = 0.5
|
anchor_right = 0.5
|
||||||
anchor_bottom = 0.5
|
anchor_bottom = 0.5
|
||||||
offset_left = -288.0
|
offset_left = -240.0
|
||||||
offset_top = -36.0
|
offset_top = -148.0
|
||||||
offset_right = -80.0
|
offset_right = -32.0
|
||||||
offset_bottom = 28.0
|
offset_bottom = -84.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||||
theme_override_font_sizes/font_size = 24
|
theme_override_font_sizes/font_size = 24
|
||||||
|
disabled = true
|
||||||
text = "Level 1"
|
text = "Level 1"
|
||||||
|
|
||||||
[node name="Button_2" type="Button" parent="Control"]
|
[node name="Button_2" type="Button" parent="Control"]
|
||||||
@@ -38,15 +39,73 @@ anchor_left = 0.5
|
|||||||
anchor_top = 0.5
|
anchor_top = 0.5
|
||||||
anchor_right = 0.5
|
anchor_right = 0.5
|
||||||
anchor_bottom = 0.5
|
anchor_bottom = 0.5
|
||||||
offset_left = 80.0
|
offset_left = 32.0
|
||||||
|
offset_top = -148.0
|
||||||
|
offset_right = 240.0
|
||||||
|
offset_bottom = -84.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||||
|
theme_override_font_sizes/font_size = 24
|
||||||
|
disabled = true
|
||||||
|
text = "Level 2"
|
||||||
|
|
||||||
|
[node name="Button_3" type="Button" parent="Control"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -240.0
|
||||||
offset_top = -36.0
|
offset_top = -36.0
|
||||||
offset_right = 288.0
|
offset_right = -32.0
|
||||||
offset_bottom = 28.0
|
offset_bottom = 28.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||||
theme_override_font_sizes/font_size = 24
|
theme_override_font_sizes/font_size = 24
|
||||||
text = "Level 2"
|
disabled = true
|
||||||
|
text = "Level 3"
|
||||||
|
|
||||||
|
[node name="Button_4" type="Button" parent="Control"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = 32.0
|
||||||
|
offset_top = -36.0
|
||||||
|
offset_right = 240.0
|
||||||
|
offset_bottom = 28.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||||
|
theme_override_font_sizes/font_size = 24
|
||||||
|
disabled = true
|
||||||
|
text = "Level 4"
|
||||||
|
|
||||||
|
[node name="Button_5" type="Button" parent="Control"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -240.0
|
||||||
|
offset_top = 76.0
|
||||||
|
offset_right = -32.0
|
||||||
|
offset_bottom = 140.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||||
|
theme_override_font_sizes/font_size = 24
|
||||||
|
disabled = true
|
||||||
|
text = "Level 5"
|
||||||
|
|
||||||
[connection signal="pressed" from="Control/Button_1" to="." method="_on_button_pressed" binds= ["1"]]
|
[connection signal="pressed" from="Control/Button_1" to="." method="_on_button_pressed" binds= ["1"]]
|
||||||
[connection signal="pressed" from="Control/Button_2" to="." method="_on_button_pressed" binds= ["2"]]
|
[connection signal="pressed" from="Control/Button_2" to="." method="_on_button_pressed" binds= ["2"]]
|
||||||
|
[connection signal="pressed" from="Control/Button_3" to="." method="_on_button_pressed" binds= ["3"]]
|
||||||
|
[connection signal="pressed" from="Control/Button_4" to="." method="_on_button_pressed" binds= ["4"]]
|
||||||
|
[connection signal="pressed" from="Control/Button_5" to="." method="_on_button_pressed" binds= ["5"]]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=20 format=3 uid="uid://dv50be68omp73"]
|
[gd_scene load_steps=21 format=3 uid="uid://dv50be68omp73"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://chrld8oybp4me" path="res://assets/bg-1-1.png" id="1_p04bh"]
|
[ext_resource type="Texture2D" uid="uid://chrld8oybp4me" path="res://assets/bg-1-1.png" id="1_p04bh"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dk1aby88pygtr" path="res://scenes/player.tscn" id="2_j2a2f"]
|
[ext_resource type="PackedScene" uid="uid://dk1aby88pygtr" path="res://scenes/player.tscn" id="2_j2a2f"]
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
[ext_resource type="Script" path="res://scripts/WorldBoundDown.gd" id="13_je7o8"]
|
[ext_resource type="Script" path="res://scripts/WorldBoundDown.gd" id="13_je7o8"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bm04qp5vgbi10" path="res://scenes/flag.tscn" id="14_ry537"]
|
[ext_resource type="PackedScene" uid="uid://bm04qp5vgbi10" path="res://scenes/flag.tscn" id="14_ry537"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dflvi18e358ek" path="res://scenes/blocks/enimie_barrier.tscn" id="15_ac2kk"]
|
[ext_resource type="PackedScene" uid="uid://dflvi18e358ek" path="res://scenes/blocks/enimie_barrier.tscn" id="15_ac2kk"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bkpny146y0y0e" path="res://scenes/enemies/coopa.tscn" id="16_dfvj4"]
|
||||||
|
|
||||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_sdqov"]
|
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_sdqov"]
|
||||||
texture = ExtResource("1_p04bh")
|
texture = ExtResource("1_p04bh")
|
||||||
@@ -19088,6 +19089,8 @@ auto_collect = true
|
|||||||
|
|
||||||
[node name="destroyblock" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
[node name="destroyblock" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||||
position = Vector2(160, -48)
|
position = Vector2(160, -48)
|
||||||
|
hit_object = ExtResource("4_7ycg6")
|
||||||
|
auto_collect = true
|
||||||
|
|
||||||
[node name="itemblock2" parent="interactable_blocks" instance=ExtResource("3_4oas0")]
|
[node name="itemblock2" parent="interactable_blocks" instance=ExtResource("3_4oas0")]
|
||||||
position = Vector2(176, -48)
|
position = Vector2(176, -48)
|
||||||
@@ -19095,6 +19098,8 @@ hit_object = ExtResource("6_1e33i")
|
|||||||
|
|
||||||
[node name="destroyblock2" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
[node name="destroyblock2" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||||
position = Vector2(192, -48)
|
position = Vector2(192, -48)
|
||||||
|
hit_object = ExtResource("4_7ycg6")
|
||||||
|
auto_collect = true
|
||||||
|
|
||||||
[node name="itemblock3" parent="interactable_blocks" instance=ExtResource("3_4oas0")]
|
[node name="itemblock3" parent="interactable_blocks" instance=ExtResource("3_4oas0")]
|
||||||
position = Vector2(208, -48)
|
position = Vector2(208, -48)
|
||||||
@@ -19159,6 +19164,8 @@ auto_collect = true
|
|||||||
|
|
||||||
[node name="destroyblock17" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
[node name="destroyblock17" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||||
position = Vector2(1424, -48)
|
position = Vector2(1424, -48)
|
||||||
|
hit_object = ExtResource("4_7ycg6")
|
||||||
|
auto_collect = true
|
||||||
|
|
||||||
[node name="destroyblock18" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
[node name="destroyblock18" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||||
position = Vector2(1520, -48)
|
position = Vector2(1520, -48)
|
||||||
@@ -19315,28 +19322,52 @@ position = Vector2(736, 0)
|
|||||||
position = Vector2(768, 0)
|
position = Vector2(768, 0)
|
||||||
|
|
||||||
[node name="Gumba4" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
[node name="Gumba4" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
position = Vector2(1120, 0)
|
position = Vector2(1200, -128)
|
||||||
|
|
||||||
[node name="Gumba5" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
[node name="Gumba5" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
position = Vector2(1152, 0)
|
position = Vector2(1232, -128)
|
||||||
|
|
||||||
[node name="Gumba6" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
[node name="Gumba6" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
position = Vector2(1472, 0)
|
position = Vector2(1472, 0)
|
||||||
|
|
||||||
[node name="Gumba7" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
[node name="Gumba16" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
position = Vector2(1648, 0)
|
position = Vector2(1504, 0)
|
||||||
|
|
||||||
[node name="Gumba8" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
[node name="Gumba8" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
position = Vector2(2672, 0)
|
position = Vector2(2784, 0)
|
||||||
|
|
||||||
[node name="Gumba9" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
[node name="Gumba9" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
position = Vector2(2752, 0)
|
position = Vector2(2816, 0)
|
||||||
|
|
||||||
|
[node name="Gumba10" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
|
position = Vector2(576, 0)
|
||||||
|
|
||||||
|
[node name="coopa" parent="Enemies" instance=ExtResource("16_dfvj4")]
|
||||||
|
position = Vector2(1632, 0)
|
||||||
|
|
||||||
|
[node name="Gumba7" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
|
position = Vector2(1760, 0)
|
||||||
|
|
||||||
|
[node name="Gumba11" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
|
position = Vector2(1792, 0)
|
||||||
|
|
||||||
|
[node name="Gumba12" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
|
position = Vector2(1936, 0)
|
||||||
|
|
||||||
|
[node name="Gumba13" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
|
position = Vector2(1968, 0)
|
||||||
|
|
||||||
|
[node name="Gumba14" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
|
position = Vector2(2016, 0)
|
||||||
|
|
||||||
|
[node name="Gumba15" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||||
|
position = Vector2(2048, 0)
|
||||||
|
|
||||||
[node name="Pipes" type="Node" parent="."]
|
[node name="Pipes" type="Node" parent="."]
|
||||||
|
|
||||||
[node name="pipe" parent="Pipes" instance=ExtResource("9_sfjeq")]
|
[node name="pipe" parent="Pipes" instance=ExtResource("9_sfjeq")]
|
||||||
position = Vector2(832, -64)
|
position = Vector2(832, -64)
|
||||||
target = Vector2(800, 224)
|
target = Vector2(640, 112)
|
||||||
|
|
||||||
[node name="pipe2" parent="Pipes" instance=ExtResource("9_sfjeq")]
|
[node name="pipe2" parent="Pipes" instance=ExtResource("9_sfjeq")]
|
||||||
position = Vector2(816, 240)
|
position = Vector2(816, 240)
|
||||||
@@ -19422,6 +19453,7 @@ text = "120"
|
|||||||
|
|
||||||
[node name="Flag" parent="." instance=ExtResource("14_ry537")]
|
[node name="Flag" parent="." instance=ExtResource("14_ry537")]
|
||||||
load_level = "level_0"
|
load_level = "level_0"
|
||||||
|
level_score = 2
|
||||||
|
|
||||||
[node name="StaticBody2D" parent="." instance=ExtResource("15_ac2kk")]
|
[node name="StaticBody2D" parent="." instance=ExtResource("15_ac2kk")]
|
||||||
position = Vector2(1040, 0)
|
position = Vector2(1040, 0)
|
||||||
|
|||||||
+64
-32
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+9
-1
@@ -270,11 +270,14 @@ fireball_prefab = ExtResource("2_owoxk")
|
|||||||
position = Vector2(35, 0)
|
position = Vector2(35, 0)
|
||||||
zoom = Vector2(3, 3)
|
zoom = Vector2(3, 3)
|
||||||
limit_left = -160
|
limit_left = -160
|
||||||
|
limit_top = -184
|
||||||
limit_bottom = 32
|
limit_bottom = 32
|
||||||
|
limit_smoothed = true
|
||||||
|
position_smoothing_speed = 8.0
|
||||||
|
|
||||||
[node name="ColorRect" type="ColorRect" parent="Camera2D"]
|
[node name="ColorRect" type="ColorRect" parent="Camera2D"]
|
||||||
visible = false
|
visible = false
|
||||||
z_index = 10
|
z_index = 50
|
||||||
offset_left = -3995.0
|
offset_left = -3995.0
|
||||||
offset_top = -1678.0
|
offset_top = -1678.0
|
||||||
offset_right = 3965.0
|
offset_right = 3965.0
|
||||||
@@ -283,6 +286,7 @@ mouse_filter = 1
|
|||||||
color = Color(0, 0, 0, 1)
|
color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
z_index = 25
|
||||||
position = Vector2(0, 2)
|
position = Vector2(0, 2)
|
||||||
sprite_frames = SubResource("SpriteFrames_l5s58")
|
sprite_frames = SubResource("SpriteFrames_l5s58")
|
||||||
animation = &"run_flower"
|
animation = &"run_flower"
|
||||||
@@ -367,9 +371,13 @@ libraries = {
|
|||||||
"": SubResource("AnimationLibrary_uuoiq")
|
"": SubResource("AnimationLibrary_uuoiq")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="timer_fire" type="Timer" parent="."]
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
[connection signal="area_entered" from="pipedetector_ground" to="." method="_on_pipedetector_area_entered"]
|
[connection signal="area_entered" from="pipedetector_ground" to="." method="_on_pipedetector_area_entered"]
|
||||||
[connection signal="area_exited" from="pipedetector_ground" to="." method="_on_pipedetector_area_exited"]
|
[connection signal="area_exited" from="pipedetector_ground" to="." method="_on_pipedetector_area_exited"]
|
||||||
[connection signal="area_entered" from="pipedetector_right" to="." method="_on_pipedetector_right_area_entered"]
|
[connection signal="area_entered" from="pipedetector_right" to="." method="_on_pipedetector_right_area_entered"]
|
||||||
[connection signal="area_exited" from="pipedetector_right" to="." method="_on_pipedetector_right_area_exited"]
|
[connection signal="area_exited" from="pipedetector_right" to="." method="_on_pipedetector_right_area_exited"]
|
||||||
[connection signal="timeout" from="pipe_timer" to="." method="_on_pipe_timer_timeout"]
|
[connection signal="timeout" from="pipe_timer" to="." method="_on_pipe_timer_timeout"]
|
||||||
[connection signal="timeout" from="pipe_timer_half" to="." method="_on_pipe_timer_half_timeout"]
|
[connection signal="timeout" from="pipe_timer_half" to="." method="_on_pipe_timer_half_timeout"]
|
||||||
|
[connection signal="timeout" from="timer_fire" to="." method="_on_timer_fire_timeout"]
|
||||||
|
|||||||
+10
-1
@@ -5,7 +5,7 @@ extends Area2D
|
|||||||
@onready var player = %player
|
@onready var player = %player
|
||||||
@onready var audio_stream_player = $AudioStreamPlayer
|
@onready var audio_stream_player = $AudioStreamPlayer
|
||||||
@onready var music = %Music
|
@onready var music = %Music
|
||||||
|
@export var level_score : int
|
||||||
|
|
||||||
func _on_body_entered(body):
|
func _on_body_entered(body):
|
||||||
animation_player.play("change_scene")
|
animation_player.play("change_scene")
|
||||||
@@ -13,5 +13,14 @@ func _on_body_entered(body):
|
|||||||
music.stop()
|
music.stop()
|
||||||
|
|
||||||
func load_new_scene():
|
func load_new_scene():
|
||||||
|
var config = ConfigFile.new()
|
||||||
|
var err = config.load("user://config.cfg")
|
||||||
|
|
||||||
|
if err == OK:
|
||||||
|
var available_level = config.get_value("level", "available_level", 0)
|
||||||
|
level_score = level_score if level_score > available_level else available_level
|
||||||
|
config.set_value("level", "available_level", level_score)
|
||||||
|
config.save("user://config.cfg")
|
||||||
|
|
||||||
get_tree().change_scene_to_file("res://scenes/levels/" + load_level + ".tscn")
|
get_tree().change_scene_to_file("res://scenes/levels/" + load_level + ".tscn")
|
||||||
|
|
||||||
|
|||||||
@@ -8,9 +8,13 @@ func _ready():
|
|||||||
var platform = ""
|
var platform = ""
|
||||||
|
|
||||||
match OS.get_name():
|
match OS.get_name():
|
||||||
"Windows", "macOS", "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD", "Web":
|
"Windows", "macOS", "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD":
|
||||||
label.text = "A, S, D To Move"
|
label.text = "A, S, D To Move"
|
||||||
label_2.text = "Space To Jump"
|
label_2.text = "Space To Jump"
|
||||||
label_3.text = "E To Fire"
|
label_3.text = "E To Fire"
|
||||||
|
"Web":
|
||||||
|
label.text = "Swipe Left/W, S, A, D"
|
||||||
|
label_2.text = "Right Down Tap/Space"
|
||||||
|
label_3.text = "Right Up Tap/E"
|
||||||
"Android", "iOS":
|
"Android", "iOS":
|
||||||
pass
|
pass
|
||||||
|
|||||||
+13
-6
@@ -1,15 +1,22 @@
|
|||||||
extends CanvasLayer
|
extends CanvasLayer
|
||||||
|
|
||||||
|
@onready var buttons = [$Control/Button_1, $Control/Button_2, $Control/Button_3,
|
||||||
|
$Control/Button_4, $Control/Button_5
|
||||||
|
]
|
||||||
|
var available_level = 0
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready():
|
func _ready():
|
||||||
pass # Replace with function body.
|
var config = ConfigFile.new()
|
||||||
|
var err = config.load("user://config.cfg")
|
||||||
|
|
||||||
|
if err == OK:
|
||||||
|
available_level = config.get_value("level", "available_level", 1)
|
||||||
|
else:
|
||||||
|
available_level = 1
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
for i in range(0, available_level):
|
||||||
func _process(delta):
|
if i < len(buttons):
|
||||||
pass
|
buttons[i].disabled = false
|
||||||
|
|
||||||
|
|
||||||
func _on_button_pressed(extra_arg_0):
|
func _on_button_pressed(extra_arg_0):
|
||||||
get_tree().change_scene_to_file("res://scenes/levels/level_"+ extra_arg_0 +".tscn")
|
get_tree().change_scene_to_file("res://scenes/levels/level_"+ extra_arg_0 +".tscn")
|
||||||
|
|||||||
@@ -2,10 +2,22 @@ extends RigidBody2D
|
|||||||
|
|
||||||
@onready var animated_sprite_2d = $AnimatedSprite2D
|
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||||
@onready var animation_player = $AnimationPlayer
|
@onready var animation_player = $AnimationPlayer
|
||||||
|
@export var hit_object : PackedScene
|
||||||
|
@export var auto_collect : bool
|
||||||
|
const ITEMBLOCK = preload("res://scenes/blocks/itemblock.tscn")
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
animated_sprite_2d.play("default")
|
animated_sprite_2d.play("default")
|
||||||
|
|
||||||
func _on_activate_body_entered(body):
|
func _on_activate_body_entered(body):
|
||||||
if body.is_big:
|
if hit_object == null:
|
||||||
animation_player.play("destroy")
|
if body.is_big:
|
||||||
|
animation_player.play("destroy")
|
||||||
|
else:
|
||||||
|
var inst2 = ITEMBLOCK.instantiate()
|
||||||
|
get_parent().add_child(inst2)
|
||||||
|
inst2.position.x = position.x
|
||||||
|
inst2.position.y = position.y
|
||||||
|
inst2.hit_object = hit_object
|
||||||
|
inst2.auto_collect = auto_collect
|
||||||
|
queue_free()
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
extends RigidBody2D
|
||||||
|
@export var hit_object:PackedScene
|
||||||
|
@onready var collision_shape_2d = $CollisionShape2D
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
collision_shape_2d.disabled = true
|
||||||
|
|
||||||
|
func _on_activate_body_entered(body):
|
||||||
|
if hit_object == null:
|
||||||
|
return
|
||||||
|
|
||||||
|
if body.velocity.y > 0:
|
||||||
|
return
|
||||||
|
|
||||||
|
var instance = hit_object.instantiate()
|
||||||
|
get_parent().add_child(instance)
|
||||||
|
instance.position.x = position.x
|
||||||
|
instance.position.y = position.y
|
||||||
|
queue_free()
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
extends Area2D
|
||||||
|
|
||||||
|
@export var speed = 80
|
||||||
|
@onready var audio_stream_player_2d = $AudioStreamPlayer2D
|
||||||
|
|
||||||
|
func _on_die_body_entered(body):
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
position.x += speed * delta
|
||||||
|
|
||||||
|
|
||||||
|
func _on_body_entered_player(body):
|
||||||
|
body.shrink()
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_audio_stream_player_2d_finished():
|
||||||
|
audio_stream_player_2d.play()
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
extends RigidBody2D
|
||||||
|
@onready var player = %player
|
||||||
|
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||||
|
@onready var shoot_spawner = $ShootSpawner
|
||||||
|
const BOWSER_JR_FIRE = preload("res://scenes/enemies/bowser_jr_fire.tscn")
|
||||||
|
var shoot_direction = -1
|
||||||
|
const jump_force = 250
|
||||||
|
@onready var timer = $Timer
|
||||||
|
var pause = false
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
if pause:
|
||||||
|
return
|
||||||
|
if player.position.x > position.x:
|
||||||
|
animated_sprite_2d.flip_h = true
|
||||||
|
shoot_direction = 1
|
||||||
|
shoot_spawner.position.x = 32
|
||||||
|
else:
|
||||||
|
animated_sprite_2d.flip_h = false
|
||||||
|
shoot_direction = -1
|
||||||
|
shoot_spawner.position.x = 0
|
||||||
|
|
||||||
|
func shoot():
|
||||||
|
if pause:
|
||||||
|
return
|
||||||
|
animated_sprite_2d.play("open_mouth")
|
||||||
|
timer.start()
|
||||||
|
var instance = BOWSER_JR_FIRE.instantiate()
|
||||||
|
instance.speed *= shoot_direction
|
||||||
|
get_parent().add_child(instance)
|
||||||
|
instance.position.x = shoot_spawner.global_position.x
|
||||||
|
instance.position.y = shoot_spawner.global_position.y
|
||||||
|
|
||||||
|
func jump():
|
||||||
|
if pause:
|
||||||
|
return
|
||||||
|
linear_velocity.y = -jump_force
|
||||||
|
|
||||||
|
func f_die():
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _on_timer_timeout():
|
||||||
|
animated_sprite_2d.play("default")
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
extends Node2D
|
||||||
|
@onready var bridge_parts = [
|
||||||
|
$RigidBody2D13,
|
||||||
|
$RigidBody2D12,$RigidBody2D11,$RigidBody2D10,$RigidBody2D9,$RigidBody2D8,
|
||||||
|
$RigidBody2D7,$RigidBody2D6,$RigidBody2D5,$RigidBody2D4,$RigidBody2D3,
|
||||||
|
$RigidBody2D2,$RigidBody2D
|
||||||
|
]
|
||||||
|
@onready var chain = $chain
|
||||||
|
@onready var timer = $Timer
|
||||||
|
@onready var sprite_2d_15 = $Area2D/Sprite2D15
|
||||||
|
@onready var player = %player
|
||||||
|
@onready var bowserjr = %bowserjr
|
||||||
|
@onready var audio_stream_player = $AudioStreamPlayer
|
||||||
|
@onready var music = %Music
|
||||||
|
@export var level_score : int
|
||||||
|
|
||||||
|
var curr_down = 0
|
||||||
|
|
||||||
|
func _on_area_2d_body_entered(body):
|
||||||
|
music.stop()
|
||||||
|
audio_stream_player.play()
|
||||||
|
chain.visible = false
|
||||||
|
player.on_pause = true
|
||||||
|
bowserjr.pause = true
|
||||||
|
sprite_2d_15.rotation_degrees = -90
|
||||||
|
timer.start()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_timer_timeout():
|
||||||
|
if curr_down < len(bridge_parts):
|
||||||
|
bridge_parts[curr_down].gravity_scale = 1
|
||||||
|
curr_down += 1
|
||||||
|
else:
|
||||||
|
timer.stop()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_audio_stream_player_finished():
|
||||||
|
var config = ConfigFile.new()
|
||||||
|
var err = config.load("user://config.cfg")
|
||||||
|
|
||||||
|
if err == OK:
|
||||||
|
var available_level = config.get_value("level", "available_level", 0)
|
||||||
|
level_score = level_score if level_score > available_level else available_level
|
||||||
|
config.set_value("level", "available_level", level_score)
|
||||||
|
config.save("user://config.cfg")
|
||||||
|
get_tree().change_scene_to_file("res://scenes/levels/level_0.tscn")
|
||||||
@@ -14,6 +14,7 @@ var is_down = false
|
|||||||
@onready var collision_shape_2d = $CollisionShape2D
|
@onready var collision_shape_2d = $CollisionShape2D
|
||||||
@onready var ray_cast_left_3 = $RayCastLeft3
|
@onready var ray_cast_left_3 = $RayCastLeft3
|
||||||
@onready var ray_cast_right_3 = $RayCastRight3
|
@onready var ray_cast_right_3 = $RayCastRight3
|
||||||
|
@onready var player = %player
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var coll = CapsuleShape2D.new()
|
var coll = CapsuleShape2D.new()
|
||||||
@@ -22,7 +23,8 @@ func _ready():
|
|||||||
collision_shape_2d.shape = coll
|
collision_shape_2d.shape = coll
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
linear_velocity.x = speed
|
if abs(position.x - player.position.x) < 225 or is_down:
|
||||||
|
linear_velocity.x = speed
|
||||||
|
|
||||||
if ray_cast_left_2 == null:
|
if ray_cast_left_2 == null:
|
||||||
return
|
return
|
||||||
@@ -82,6 +84,9 @@ func f_die():
|
|||||||
func f_shrink(body):
|
func f_shrink(body):
|
||||||
die_sound.play()
|
die_sound.play()
|
||||||
if not is_down:
|
if not is_down:
|
||||||
|
# collission mask only to walls
|
||||||
|
ray_cast_left.collision_mask = pow(2, 1-1)
|
||||||
|
ray_cast_right.collision_mask = pow(2, 1-1)
|
||||||
speed = 0
|
speed = 0
|
||||||
collision_shape_2d.shape.height -= 9
|
collision_shape_2d.shape.height -= 9
|
||||||
die.position.y += 2
|
die.position.y += 2
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
extends Area2D
|
||||||
|
|
||||||
|
@export var rot_speed = 3
|
||||||
|
@onready var timer = $Timer
|
||||||
|
|
||||||
|
var innocent = false
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
rotate(rot_speed * delta)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_body_entered(body):
|
||||||
|
if not innocent:
|
||||||
|
body.shrink()
|
||||||
|
innocent = true
|
||||||
|
timer.start()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_timer_timeout():
|
||||||
|
innocent = false
|
||||||
@@ -11,9 +11,11 @@ extends RigidBody2D
|
|||||||
var innocent = false
|
var innocent = false
|
||||||
@onready var timer_2 = $Timer2
|
@onready var timer_2 = $Timer2
|
||||||
@onready var gumba = $"."
|
@onready var gumba = $"."
|
||||||
|
@onready var player = %player
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
linear_velocity.x = speed
|
if abs(position.x - player.position.x) < 225:
|
||||||
|
linear_velocity.x = speed
|
||||||
|
|
||||||
if ray_cast_left_2 == null:
|
if ray_cast_left_2 == null:
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
extends Node2D
|
||||||
|
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||||
|
@onready var collision_shape_2d = $StaticBody2D/CollisionShape2D
|
||||||
|
|
||||||
|
func _on_area_2d_body_entered(body):
|
||||||
|
animated_sprite_2d.play("down")
|
||||||
|
body.JUMPt_velocity *= 1.6
|
||||||
|
animated_sprite_2d.position.y += 8
|
||||||
|
collision_shape_2d.position.y += 8
|
||||||
|
collision_shape_2d.shape.size.y -= 16
|
||||||
|
|
||||||
|
|
||||||
|
func _on_area_2d_body_exited(body):
|
||||||
|
animated_sprite_2d.play("default")
|
||||||
|
body.JUMPt_velocity /= 1.6
|
||||||
|
animated_sprite_2d.position.y -= 8
|
||||||
|
collision_shape_2d.position.y -= 8
|
||||||
|
collision_shape_2d.shape.size.y += 16
|
||||||
+17
-3
@@ -12,10 +12,11 @@ extends CharacterBody2D
|
|||||||
@onready var shrink_sound = $shrinkSound
|
@onready var shrink_sound = $shrinkSound
|
||||||
@onready var die_player = $diePlayer
|
@onready var die_player = $diePlayer
|
||||||
@onready var music = %Music
|
@onready var music = %Music
|
||||||
|
@onready var timer_fire = $timer_fire
|
||||||
|
|
||||||
|
|
||||||
const SPEED = 130.0
|
const SPEED = 130.0
|
||||||
const JUMPt_velocity = -360.0
|
var JUMPt_velocity = -360.0
|
||||||
var on_pipe = false
|
var on_pipe = false
|
||||||
var right_pipe = false
|
var right_pipe = false
|
||||||
var left_pipe = false
|
var left_pipe = false
|
||||||
@@ -36,6 +37,7 @@ var crawl = false
|
|||||||
var fire = false
|
var fire = false
|
||||||
var toucht_velocity = Vector2.ZERO
|
var toucht_velocity = Vector2.ZERO
|
||||||
var t_velocity = 0
|
var t_velocity = 0
|
||||||
|
var can_fire = 0
|
||||||
|
|
||||||
@export var fireball_prefab : PackedScene
|
@export var fireball_prefab : PackedScene
|
||||||
|
|
||||||
@@ -74,13 +76,14 @@ func _process(delta):
|
|||||||
# set camera
|
# set camera
|
||||||
if position.y <= 32:
|
if position.y <= 32:
|
||||||
camera_2d.limit_bottom = 32
|
camera_2d.limit_bottom = 32
|
||||||
camera_2d.limit_top = -1000000
|
camera_2d.limit_top = -1000
|
||||||
else:
|
else:
|
||||||
camera_2d.limit_bottom = 272
|
camera_2d.limit_bottom = 272
|
||||||
camera_2d.limit_top = 32
|
camera_2d.limit_top = 32
|
||||||
|
|
||||||
# check pipe
|
# check pipe
|
||||||
if on_pipe and (Input.is_action_just_pressed("crawl") or crawl) and is_on_floor() or right_pipe and (Input.is_action_pressed("move_right") or t_velocity > 0):
|
if on_pipe and (Input.is_action_just_pressed("crawl") or crawl) and is_on_floor() or right_pipe and (Input.is_action_pressed("move_right") or t_velocity > 0):
|
||||||
|
on_pause = true
|
||||||
pipe_sound.play()
|
pipe_sound.play()
|
||||||
crawl = false
|
crawl = false
|
||||||
t_velocity = 0
|
t_velocity = 0
|
||||||
@@ -101,7 +104,8 @@ func _physics_process(delta):
|
|||||||
velocity.y = JUMPt_velocity
|
velocity.y = JUMPt_velocity
|
||||||
|
|
||||||
# check fireball
|
# check fireball
|
||||||
if is_flower and (Input.is_action_just_pressed("flower") or fire):
|
if is_flower and (Input.is_action_just_pressed("flower") or fire) and can_fire < 2:
|
||||||
|
can_fire += 1
|
||||||
fire = false
|
fire = false
|
||||||
var instance = fireball_prefab.instantiate()
|
var instance = fireball_prefab.instantiate()
|
||||||
get_parent().add_child(instance)
|
get_parent().add_child(instance)
|
||||||
@@ -110,6 +114,7 @@ func _physics_process(delta):
|
|||||||
instance.linear_velocity.x = -200 if animated_sprite_2d.flip_h else 200
|
instance.linear_velocity.x = -200 if animated_sprite_2d.flip_h else 200
|
||||||
instance.linear_velocity.y = 50
|
instance.linear_velocity.y = 50
|
||||||
instance.angular_velocity = 0
|
instance.angular_velocity = 0
|
||||||
|
timer_fire.start()
|
||||||
|
|
||||||
|
|
||||||
# get input
|
# get input
|
||||||
@@ -159,6 +164,8 @@ func _physics_process(delta):
|
|||||||
func grow():
|
func grow():
|
||||||
if not is_big:
|
if not is_big:
|
||||||
is_big = true
|
is_big = true
|
||||||
|
if is_on_floor():
|
||||||
|
position.y -= 20
|
||||||
collision_shape_2d.shape.height = 31
|
collision_shape_2d.shape.height = 31
|
||||||
pipedetector_ground.position.y += 8
|
pipedetector_ground.position.y += 8
|
||||||
|
|
||||||
@@ -170,6 +177,9 @@ func flower():
|
|||||||
is_flower = true
|
is_flower = true
|
||||||
|
|
||||||
func shrink():
|
func shrink():
|
||||||
|
if on_pause:
|
||||||
|
return
|
||||||
|
|
||||||
if is_flower:
|
if is_flower:
|
||||||
is_flower = false
|
is_flower = false
|
||||||
shrink_sound.play()
|
shrink_sound.play()
|
||||||
@@ -216,3 +226,7 @@ func _on_pipe_timer_timeout():
|
|||||||
|
|
||||||
func _on_pipe_timer_half_timeout():
|
func _on_pipe_timer_half_timeout():
|
||||||
position = pipe_target
|
position = pipe_target
|
||||||
|
|
||||||
|
|
||||||
|
func _on_timer_fire_timeout():
|
||||||
|
can_fire = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user