13 Commits
Author SHA1 Message Date
Jonas Braus 2242369738 level select menu 2024-08-03 11:08:46 +02:00
Jonas Braus 7ece2c1391 bug fix && plants 2024-08-03 10:52:53 +02:00
Jonas Braus 4a64f30c57 coopa improvement 2024-08-03 01:26:19 +02:00
Jonas Braus cf5153c10a Update flag.tscn 2024-08-03 01:17:13 +02:00
Jonas Braus f0ae51aa75 test 2024-08-03 01:16:51 +02:00
Jonas Braus f1f0e53538 minor improvements 2024-08-03 01:07:53 +02:00
Jonas Braus 8ea91b2967 Update level_2.tscn 2024-08-03 00:58:42 +02:00
Jonas Braus 1cd04a27cf added coopa 2024-08-03 00:57:40 +02:00
Jonas Braus a706375da0 level 2 - moving plattforms
level2 almost finished
2024-08-02 22:44:01 +02:00
Jonas Braus a4476f2ce2 timer 2024-07-31 20:52:28 +02:00
Jonas Braus b18dfee7dc added more sounds and autocollect coin 2024-07-31 19:49:20 +02:00
Jonas Braus 85736f82e0 added fireballs 2024-07-29 23:30:26 +02:00
Jonas Braus 3a6f8517c0 added more gumba 2024-07-29 22:01:12 +02:00
46 changed files with 47586 additions and 219 deletions
+3
View File
@@ -0,0 +1,3 @@
{
"godotTools.editorPath.godot4": "/home/jonas/Dokumente/Godot/Godot.x86_64"
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

+34
View File
@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bbf2n32u766cp"
path="res://.godot/imported/bg-1-2.png-81ae6ae7479c4c330a362a6052bf4c22.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/bg-1-2.png"
dest_files=["res://.godot/imported/bg-1-2.png-81ae6ae7479c4c330a362a6052bf4c22.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.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.
@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://dsidx3ln87nn7"
path="res://.godot/imported/02. Underground Theme.mp3-48fe7af9d35600b2cbee60756ac97b08.mp3str"
[deps]
source_file="res://assets/sounds/02. Underground Theme.mp3"
dest_files=["res://.godot/imported/02. Underground Theme.mp3-48fe7af9d35600b2cbee60756ac97b08.mp3str"]
[params]
loop=true
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4
@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://dw00kc3yup8bh"
path="res://.godot/imported/52ac54_super_mario_bros_stage_clear_sound_effect.mp3-cea1e164d9781cd3f06affa23092f4f3.mp3str"
[deps]
source_file="res://assets/sounds/52ac54_super_mario_bros_stage_clear_sound_effect.mp3"
dest_files=["res://.godot/imported/52ac54_super_mario_bros_stage_clear_sound_effect.mp3-cea1e164d9781cd3f06affa23092f4f3.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
+120 -51
View File
@@ -111,7 +111,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Android/retromario.apk"
export_path="../../../../../home/jonas/Schreibtisch/Export_Android/retromario.apk"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
@@ -306,15 +306,15 @@ permissions/write_user_dictionary=false
[preset.3]
name="iOS"
platform="iOS"
name="macOS"
platform="macOS"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_IOS/retromario.ipa"
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Mac/retromario.zip"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
@@ -322,58 +322,127 @@ encrypt_directory=false
[preset.3.options]
export/distribution_type=1
binary_format/architecture="universal"
custom_template/debug=""
custom_template/release=""
architectures/arm64=true
application/app_store_team_id="12345"
application/code_sign_identity_debug=""
application/export_method_debug=1
application/code_sign_identity_release=""
application/export_method_release=0
application/targeted_device_family=2
debug/export_console_wrapper=1
application/icon=""
application/icon_interpolation=4
application/bundle_identifier="com.retro.mario"
application/signature=""
application/app_category="Games"
application/short_version=""
application/version=""
application/icon_interpolation=4
application/launch_screens_interpolation=4
application/export_project_only=false
capabilities/access_wifi=false
capabilities/push_notifications=false
user_data/accessible_from_files_app=false
user_data/accessible_from_itunes_sharing=false
privacy/camera_usage_description=""
privacy/camera_usage_description_localized={}
application/copyright=""
application/copyright_localized={}
application/min_macos_version="10.12"
application/export_angle=0
display/high_res=true
xcode/platform_build="14C18"
xcode/sdk_version="13.1"
xcode/sdk_build="22C55"
xcode/sdk_name="macosx13.1"
xcode/xcode_version="1420"
xcode/xcode_build="14C18"
codesign/codesign=1
codesign/installer_identity=""
codesign/apple_team_id=""
codesign/identity=""
codesign/entitlements/custom_file=""
codesign/entitlements/allow_jit_code_execution=false
codesign/entitlements/allow_unsigned_executable_memory=false
codesign/entitlements/allow_dyld_environment_variables=false
codesign/entitlements/disable_library_validation=false
codesign/entitlements/audio_input=false
codesign/entitlements/camera=false
codesign/entitlements/location=false
codesign/entitlements/address_book=false
codesign/entitlements/calendars=false
codesign/entitlements/photos_library=false
codesign/entitlements/apple_events=false
codesign/entitlements/debugging=false
codesign/entitlements/app_sandbox/enabled=false
codesign/entitlements/app_sandbox/network_server=false
codesign/entitlements/app_sandbox/network_client=false
codesign/entitlements/app_sandbox/device_usb=false
codesign/entitlements/app_sandbox/device_bluetooth=false
codesign/entitlements/app_sandbox/files_downloads=0
codesign/entitlements/app_sandbox/files_pictures=0
codesign/entitlements/app_sandbox/files_music=0
codesign/entitlements/app_sandbox/files_movies=0
codesign/entitlements/app_sandbox/files_user_selected=0
codesign/entitlements/app_sandbox/helper_executables=[]
codesign/custom_options=PackedStringArray()
notarization/notarization=0
privacy/microphone_usage_description=""
privacy/microphone_usage_description_localized={}
privacy/photolibrary_usage_description=""
privacy/photolibrary_usage_description_localized={}
icons/iphone_120x120=""
icons/iphone_180x180=""
icons/ipad_76x76=""
icons/ipad_152x152=""
icons/ipad_167x167=""
icons/app_store_1024x1024=""
icons/spotlight_40x40=""
icons/spotlight_80x80=""
icons/settings_58x58=""
icons/settings_87x87=""
icons/notification_40x40=""
icons/notification_60x60=""
storyboard/use_launch_screen_storyboard=true
storyboard/image_scale_mode=0
storyboard/custom_image@2x=""
storyboard/custom_image@3x=""
storyboard/use_custom_bg_color=false
storyboard/custom_bg_color=Color(0, 0, 0, 1)
landscape_launch_screens/iphone_2436x1125=""
landscape_launch_screens/iphone_2208x1242=""
landscape_launch_screens/ipad_1024x768=""
landscape_launch_screens/ipad_2048x1536=""
portrait_launch_screens/iphone_640x960=""
portrait_launch_screens/iphone_640x1136=""
portrait_launch_screens/iphone_750x1334=""
portrait_launch_screens/iphone_1125x2436=""
portrait_launch_screens/ipad_768x1024=""
portrait_launch_screens/ipad_1536x2048=""
portrait_launch_screens/iphone_1242x2208=""
privacy/camera_usage_description=""
privacy/camera_usage_description_localized={}
privacy/location_usage_description=""
privacy/location_usage_description_localized={}
privacy/address_book_usage_description=""
privacy/address_book_usage_description_localized={}
privacy/calendar_usage_description=""
privacy/calendar_usage_description_localized={}
privacy/photos_library_usage_description=""
privacy/photos_library_usage_description_localized={}
privacy/desktop_folder_usage_description=""
privacy/desktop_folder_usage_description_localized={}
privacy/documents_folder_usage_description=""
privacy/documents_folder_usage_description_localized={}
privacy/downloads_folder_usage_description=""
privacy/downloads_folder_usage_description_localized={}
privacy/network_volumes_usage_description=""
privacy/network_volumes_usage_description_localized={}
privacy/removable_volumes_usage_description=""
privacy/removable_volumes_usage_description_localized={}
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""
[preset.4]
name="Web"
platform="Web"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Web/retromario.html"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
[preset.4.options]
custom_template/debug=""
custom_template/release=""
variant/extensions_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/export_icon=true
html/custom_html_shell=""
html/head_include=""
html/canvas_resize_policy=2
html/focus_canvas_on_start=true
html/experimental_virtual_keyboard=false
progressive_web_app/enabled=false
progressive_web_app/offline_page=""
progressive_web_app/display=1
progressive_web_app/orientation=0
progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
progressive_web_app/background_color=Color(0, 0, 0, 1)
+24 -11
View File
@@ -12,7 +12,7 @@ config_version=5
config/name="RetroMario"
config/version="0.1"
run/main_scene="res://scenes/level_1.tscn"
run/main_scene="res://scenes/levels/level_0.tscn"
config/features=PackedStringArray("4.2", "Forward Plus")
boot_splash/show_image=false
config/icon="res://assets/icon.png"
@@ -22,6 +22,10 @@ config/icon="res://assets/icon.png"
window/stretch/mode="viewport"
window/stretch/aspect="keep_height"
[global]
itch=false
[input]
ui_text_newline={
@@ -35,28 +39,31 @@ ui_text_caret_document_end={
}
move_left={
"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":65,"key_label":0,"unicode":97,"echo":false,"script":null)
, 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":4194319,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
, 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":65,"key_label":0,"unicode":97,"echo":false,"script":null)
]
}
move_right={
"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":68,"key_label":0,"unicode":100,"echo":false,"script":null)
, 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":4194321,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
, 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":68,"key_label":0,"unicode":100,"echo":false,"script":null)
]
}
jump={
"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":32,"key_label":0,"unicode":32,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
, 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":32,"key_label":0,"unicode":32,"echo":false,"script":null)
]
}
crawl={
"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":83,"key_label":0,"unicode":115,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
, 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":83,"key_label":0,"unicode":115,"echo":false,"script":null)
]
}
flower={
"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)
]
}
@@ -65,7 +72,13 @@ crawl={
pointing/emulate_touch_from_mouse=true
pointing/emulate_mouse_from_touch=false
[physics]
2d/physics_engine="GodotPhysics2D"
2d/solver/contact_max_allowed_penetration=0.01
[rendering]
textures/canvas_textures/default_texture_filter=0
textures/vram_compression/import_etc2_astc=true
environment/defaults/default_clear_color=Color(1, 1, 1, 1)
@@ -1,7 +1,7 @@
[gd_scene load_steps=12 format=3 uid="uid://b6piduuvusiix"]
[ext_resource type="Texture2D" uid="uid://chrld8oybp4me" path="res://assets/bg-1-1.png" id="1_4h0ce"]
[ext_resource type="Script" path="res://scripts/destroyblock.gd" id="1_a8383"]
[ext_resource type="Script" path="res://scripts/blocks/destroyblock.gd" id="1_a8383"]
[ext_resource type="AudioStream" uid="uid://dkb0efnhs6mrj" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Break.wav" id="3_bsm87"]
[sub_resource type="AtlasTexture" id="AtlasTexture_nbg0j"]
+185
View File
@@ -0,0 +1,185 @@
[gd_scene load_steps=12 format=3 uid="uid://cc4excywfdh1v"]
[ext_resource type="Script" path="res://scripts/blocks/destroyblock.gd" id="1_b75an"]
[ext_resource type="Texture2D" uid="uid://bbf2n32u766cp" path="res://assets/bg-1-2.png" id="2_4uaoj"]
[ext_resource type="AudioStream" uid="uid://dkb0efnhs6mrj" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Break.wav" id="3_0trkf"]
[sub_resource type="AtlasTexture" id="AtlasTexture_xwgx1"]
atlas = ExtResource("2_4uaoj")
region = Rect2(96, 272, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_r70hc"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xwgx1")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_i07jg"]
size = Vector2(16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r8vfl"]
size = Vector2(10, 1)
[sub_resource type="Animation" id="Animation_la8ht"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CollisionShape2D:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("destroySound:playing")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("AnimatedSprite2D:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_hu2np"]
resource_name = "destroy"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CollisionShape2D:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("destroySound:playing")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("AnimatedSprite2D:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_4lptd"]
resource_name = "idle"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CollisionShape2D:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("AnimatedSprite2D:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_55ebx"]
_data = {
"RESET": SubResource("Animation_la8ht"),
"destroy": SubResource("Animation_hu2np"),
"idle": SubResource("Animation_4lptd")
}
[node name="destroyblock_dark" type="RigidBody2D"]
gravity_scale = 0.0
script = ExtResource("1_b75an")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
visible = false
position = Vector2(8, -8)
sprite_frames = SubResource("SpriteFrames_r70hc")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(8, -8)
shape = SubResource("RectangleShape2D_i07jg")
disabled = true
[node name="activate" type="Area2D" parent="."]
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="activate"]
position = Vector2(8, 0.5)
shape = SubResource("RectangleShape2D_r8vfl")
[node name="destroySound" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("3_0trkf")
volume_db = 5.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_55ebx")
}
autoplay = "idle"
[connection signal="body_entered" from="activate" to="." method="_on_activate_body_entered"]
+11
View File
@@ -0,0 +1,11 @@
[gd_scene load_steps=2 format=3 uid="uid://dflvi18e358ek"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_m1ni4"]
size = Vector2(16, 16)
[node name="StaticBody2D" type="StaticBody2D"]
collision_layer = 16
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(8, -8)
shape = SubResource("RectangleShape2D_m1ni4")
@@ -1,6 +1,6 @@
[gd_scene load_steps=10 format=3 uid="uid://d25ukpt8ot8xv"]
[ext_resource type="Script" path="res://scripts/itemblock.gd" id="2_fn5hi"]
[ext_resource type="Script" path="res://scripts/blocks/itemblock.gd" id="2_fn5hi"]
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="2_t1ko6"]
[sub_resource type="AtlasTexture" id="AtlasTexture_lo6hv"]
@@ -70,4 +70,9 @@ collision_mask = 2
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"]
+37
View File
@@ -0,0 +1,37 @@
[gd_scene load_steps=6 format=3 uid="uid://dad1wol24icj0"]
[ext_resource type="Script" path="res://scripts/blocks/move_platform.gd" id="1_olty2"]
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="2_tugy1"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ybhkw"]
atlas = ExtResource("2_tugy1")
region = Rect2(63, 38, 48, 8)
[sub_resource type="SpriteFrames" id="SpriteFrames_hdxpr"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ybhkw")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_w18em"]
size = Vector2(48, 8)
[node name="MovePlatform" type="RigidBody2D"]
collision_mask = 0
gravity_scale = 0.0
sleeping = true
lock_rotation = true
script = ExtResource("1_olty2")
veloc = Vector2(0, 50)
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_hdxpr")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_w18em")
one_way_collision = true
+37
View File
@@ -0,0 +1,37 @@
[gd_scene load_steps=6 format=3 uid="uid://bofueafaqy7so"]
[ext_resource type="Script" path="res://scripts/blocks/move_platform.gd" id="1_lakrn"]
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="2_2bvoe"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ybhkw"]
atlas = ExtResource("2_2bvoe")
region = Rect2(63, 38, 48, 8)
[sub_resource type="SpriteFrames" id="SpriteFrames_hdxpr"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ybhkw")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_w18em"]
size = Vector2(48, 8)
[node name="MovePlatform" type="RigidBody2D"]
collision_mask = 0
gravity_scale = 0.0
lock_rotation = true
script = ExtResource("1_lakrn")
veloc = Vector2(0, -50)
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_hdxpr")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
rotation = -6.28318
shape = SubResource("RectangleShape2D_w18em")
one_way_collision = true
+10
View File
@@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://ct54hcx2h7riy"]
[ext_resource type="Script" path="res://scripts/blocks/spawner.gd" id="1_du4pp"]
[node name="Spawner" type="Node2D"]
script = ExtResource("1_du4pp")
[node name="Timer" type="Timer" parent="."]
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
+112
View File
@@ -0,0 +1,112 @@
[gd_scene load_steps=10 format=3 uid="uid://bkpny146y0y0e"]
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_451aa"]
[ext_resource type="Script" path="res://scripts/enemies/coopa.gd" id="1_iin32"]
[ext_resource type="AudioStream" uid="uid://bh8t167vl6j2n" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Kick.wav" id="2_e5ron"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ub6x3"]
atlas = ExtResource("1_451aa")
region = Rect2(150, 0, 16, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_dr5y8"]
atlas = ExtResource("1_451aa")
region = Rect2(180, 0, 16, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_hduks"]
atlas = ExtResource("1_451aa")
region = Rect2(360, 4, 16, 15)
[sub_resource type="SpriteFrames" id="SpriteFrames_g2x7m"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ub6x3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dr5y8")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_hduks")
}],
"loop": true,
"name": &"shrink",
"speed": 5.0
}]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_8406q"]
radius = 7.0
height = 24.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dpvp1"]
size = Vector2(10, 0.5)
[node name="coopa" type="RigidBody2D"]
collision_layer = 128
lock_rotation = true
script = ExtResource("1_iin32")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(8, -12)
sprite_frames = SubResource("SpriteFrames_g2x7m")
autoplay = "default"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(8, -12)
shape = SubResource("CapsuleShape2D_8406q")
[node name="RayCastLeft" type="RayCast2D" parent="."]
position = Vector2(8, -8)
target_position = Vector2(-8, 0)
collision_mask = 17
[node name="RayCastLeft2" type="RayCast2D" parent="."]
position = Vector2(8, -8)
target_position = Vector2(-8, 0)
collision_mask = 2
[node name="RayCastLeft3" type="RayCast2D" parent="."]
position = Vector2(8, -8)
target_position = Vector2(-8, 0)
collision_mask = 128
[node name="RayCastRight" type="RayCast2D" parent="."]
position = Vector2(8, -8)
target_position = Vector2(8, 0)
collision_mask = 17
[node name="RayCastRight2" type="RayCast2D" parent="."]
position = Vector2(8, -8)
target_position = Vector2(8, 0)
collision_mask = 2
[node name="RayCastRight3" type="RayCast2D" parent="."]
position = Vector2(8, -8)
target_position = Vector2(8, 0)
collision_mask = 128
[node name="die" type="Area2D" parent="."]
position = Vector2(0, -8)
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="die"]
position = Vector2(8, -16.25)
shape = SubResource("RectangleShape2D_dpvp1")
[node name="dieSound" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("2_e5ron")
[node name="Timer2" type="Timer" parent="."]
one_shot = true
[node name="Timer" type="Timer" parent="."]
wait_time = 0.5
one_shot = true
[connection signal="body_entered" from="die" to="." method="_on_die_body_entered"]
[connection signal="timeout" from="Timer2" to="." method="_on_timer_2_timeout"]
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
@@ -1,7 +1,7 @@
[gd_scene load_steps=10 format=3 uid="uid://cwviqxncs4fom"]
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_fe7l6"]
[ext_resource type="Script" path="res://scripts/gumba.gd" id="1_o30u3"]
[ext_resource type="Script" path="res://scripts/enemies/gumba.gd" id="1_o30u3"]
[ext_resource type="AudioStream" uid="uid://bh8t167vl6j2n" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Kick.wav" id="3_v1fjb"]
[sub_resource type="AtlasTexture" id="AtlasTexture_srbv5"]
@@ -45,7 +45,7 @@ radius = 8.0
size = Vector2(10, 0.5)
[node name="Gumba" type="RigidBody2D"]
collision_layer = 8
collision_layer = 128
lock_rotation = true
script = ExtResource("1_o30u3")
+87
View File
@@ -0,0 +1,87 @@
[gd_scene load_steps=10 format=3 uid="uid://dn2sy74ad2qfh"]
[ext_resource type="Script" path="res://scripts/enemies/plant.gd" id="1_7t6jh"]
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_jnxrw"]
[sub_resource type="AtlasTexture" id="AtlasTexture_cyktl"]
atlas = ExtResource("1_jnxrw")
region = Rect2(390, 30, 16, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_dylf8"]
atlas = ExtResource("1_jnxrw")
region = Rect2(420, 30, 16, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_th7fo"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_cyktl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dylf8")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mdpkr"]
size = Vector2(16, 24)
[sub_resource type="Animation" id="Animation_g0wcr"]
resource_name = "default"
length = 8.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(4, 8),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
"method": &"move_up"
}, {
"args": [],
"method": &"move_down"
}]
}
[sub_resource type="Animation" id="Animation_axvvr"]
length = 0.001
[sub_resource type="AnimationLibrary" id="AnimationLibrary_x0mu6"]
_data = {
"RESET": SubResource("Animation_axvvr"),
"default": SubResource("Animation_g0wcr")
}
[node name="Plant" type="Area2D"]
collision_layer = 128
collision_mask = 2
script = ExtResource("1_7t6jh")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, 13)
sprite_frames = SubResource("SpriteFrames_th7fo")
autoplay = "default"
frame_progress = 0.459679
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 13)
shape = SubResource("RectangleShape2D_mdpkr")
[node name="Timer" type="Timer" parent="."]
one_shot = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_x0mu6")
}
autoplay = "default"
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
+79
View File
@@ -0,0 +1,79 @@
[gd_scene load_steps=7 format=3 uid="uid://bm04qp5vgbi10"]
[ext_resource type="Script" path="res://scripts/Flag.gd" id="1_3p67j"]
[ext_resource type="AudioStream" uid="uid://dw00kc3yup8bh" path="res://assets/sounds/52ac54_super_mario_bros_stage_clear_sound_effect.mp3" id="2_4f78k"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ihwdr"]
size = Vector2(6, 201)
[sub_resource type="Animation" id="Animation_ufkda"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AudioStreamPlayer:playing")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_ivwqs"]
resource_name = "change_scene"
length = 6.0
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(6),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"load_new_scene"
}]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("AudioStreamPlayer:playing")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_adywb"]
_data = {
"RESET": SubResource("Animation_ufkda"),
"change_scene": SubResource("Animation_ivwqs")
}
[node name="Flag" type="Area2D"]
position = Vector2(3176, -19)
collision_layer = 32769
collision_mask = 2
script = ExtResource("1_3p67j")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -98.5)
shape = SubResource("RectangleShape2D_ihwdr")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_adywb")
}
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_4f78k")
volume_db = -5.0
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
+3 -3
View File
@@ -1,7 +1,7 @@
[gd_scene load_steps=13 format=3 uid="uid://nm5keea43u56"]
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_lffao"]
[ext_resource type="Script" path="res://scripts/coin.gd" id="1_qn7es"]
[ext_resource type="Script" path="res://scripts/items/coin.gd" id="1_shvw0"]
[ext_resource type="AudioStream" uid="uid://dkfpfaqxyvcew" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Coin.wav" id="3_ioelm"]
[sub_resource type="AtlasTexture" id="AtlasTexture_7xy4l"]
@@ -37,7 +37,7 @@ animations = [{
}],
"loop": true,
"name": &"idle",
"speed": 5.0
"speed": 10.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_vpcnk"]
@@ -142,7 +142,7 @@ _data = {
[node name="Coin" type="Area2D"]
collision_mask = 2
script = ExtResource("1_qn7es")
script = ExtResource("1_shvw0")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(8, -8)
+142
View File
@@ -0,0 +1,142 @@
[gd_scene load_steps=13 format=3 uid="uid://bp71ntkh281k5"]
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_2qvvh"]
[ext_resource type="Script" path="res://scripts/items/fire_flower.gd" id="1_mpyyo"]
[ext_resource type="AudioStream" uid="uid://dr8w21sjl0a7" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Powerup.wav" id="3_vbdsa"]
[sub_resource type="AtlasTexture" id="AtlasTexture_jlv6x"]
atlas = ExtResource("1_2qvvh")
region = Rect2(4, 64, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_flc5q"]
atlas = ExtResource("1_2qvvh")
region = Rect2(34, 64, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ftlk4"]
atlas = ExtResource("1_2qvvh")
region = Rect2(64, 64, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_t6dyx"]
atlas = ExtResource("1_2qvvh")
region = Rect2(94, 64, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_7uuxh"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_jlv6x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_flc5q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ftlk4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t6dyx")
}],
"loop": true,
"name": &"default",
"speed": 10.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_r8tpx"]
radius = 9.0
[sub_resource type="Animation" id="Animation_3a161"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatedSprite2D:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("AudioStreamPlayer2D:playing")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_4xypy"]
resource_name = "pickup"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatedSprite2D:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("AudioStreamPlayer2D:playing")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_duoc6"]
_data = {
"RESET": SubResource("Animation_3a161"),
"pickup": SubResource("Animation_4xypy")
}
[node name="FireFlower" type="Area2D"]
collision_layer = 8
collision_mask = 2
script = ExtResource("1_mpyyo")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(8, -8)
sprite_frames = SubResource("SpriteFrames_7uuxh")
autoplay = "default"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(8, -8)
shape = SubResource("CircleShape2D_r8tpx")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_duoc6")
}
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("3_vbdsa")
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
+68
View File
@@ -0,0 +1,68 @@
[gd_scene load_steps=10 format=3 uid="uid://beaktq6mygp6c"]
[ext_resource type="Script" path="res://scripts/items/fireball.gd" id="1_c103u"]
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_sy4od"]
[ext_resource type="AudioStream" uid="uid://si212xxdt3wk" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Fire Ball.wav" id="3_270oi"]
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_27hkc"]
friction = 0.0
bounce = 0.7
[sub_resource type="AtlasTexture" id="AtlasTexture_pjn1s"]
atlas = ExtResource("1_sy4od")
region = Rect2(364, 188, 8, 8)
[sub_resource type="SpriteFrames" id="SpriteFrames_unbxs"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_pjn1s")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_pwt6i"]
radius = 5.09902
[sub_resource type="CircleShape2D" id="CircleShape2D_87wnf"]
radius = 6.0
[sub_resource type="CircleShape2D" id="CircleShape2D_ly4gs"]
radius = 5.0
[node name="Fireball" type="RigidBody2D"]
collision_layer = 8
physics_material_override = SubResource("PhysicsMaterial_27hkc")
can_sleep = false
script = ExtResource("1_c103u")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_unbxs")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_pwt6i")
[node name="Timer" type="Timer" parent="."]
wait_time = 2.0
one_shot = true
[node name="CollCount" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="CollCount"]
shape = SubResource("CircleShape2D_87wnf")
[node name="EnemieDie" type="Area2D" parent="."]
collision_mask = 128
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemieDie"]
shape = SubResource("CircleShape2D_ly4gs")
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("3_270oi")
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
[connection signal="body_entered" from="CollCount" to="." method="_on_area_2d_body_entered"]
[connection signal="area_entered" from="EnemieDie" to="." method="_on_enemie_die_area_entered"]
[connection signal="body_entered" from="EnemieDie" to="." method="_on_enemie_die_body_entered"]
@@ -1,6 +1,6 @@
[gd_scene load_steps=11 format=3 uid="uid://b4dp88urmm7g8"]
[ext_resource type="Script" path="res://scripts/mushroom.gd" id="1_5wbjm"]
[ext_resource type="Script" path="res://scripts/items/mushroom.gd" id="1_qo5bm"]
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_tsecc"]
[ext_resource type="AudioStream" uid="uid://dr8w21sjl0a7" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Powerup.wav" id="3_ad473"]
@@ -102,7 +102,7 @@ _data = {
[node name="mushroom" type="RigidBody2D"]
collision_layer = 8
lock_rotation = true
script = ExtResource("1_5wbjm")
script = ExtResource("1_qo5bm")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(8, -8)
+52
View File
@@ -0,0 +1,52 @@
[gd_scene load_steps=3 format=3 uid="uid://drbqiko4xx71d"]
[ext_resource type="Script" path="res://scripts/LevelSelect.gd" id="1_ck5bd"]
[ext_resource type="FontFile" uid="uid://cpwx7datjer6s" path="res://assets/PixelOperator8.ttf" id="2_3ebbo"]
[node name="LevelSelect" type="CanvasLayer"]
script = ExtResource("1_ck5bd")
[node name="Control" type="Control" parent="."]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Button_1" 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 = -288.0
offset_top = -36.0
offset_right = -80.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
text = "Level 1"
[node name="Button_2" 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 = 80.0
offset_top = -36.0
offset_right = 288.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
text = "Level 2"
[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"]]
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -3,12 +3,12 @@
[ext_resource type="Script" path="res://scripts/pipe.gd" id="1_akqs5"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5w6v5"]
size = Vector2(30, 1)
size = Vector2(30, 2)
[node name="pipe" type="Area2D"]
collision_layer = 4
script = ExtResource("1_akqs5")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(16, -0.5)
position = Vector2(16, 0)
shape = SubResource("RectangleShape2D_5w6v5")
+144 -3
View File
@@ -1,11 +1,14 @@
[gd_scene load_steps=22 format=3 uid="uid://dk1aby88pygtr"]
[gd_scene load_steps=33 format=3 uid="uid://dk1aby88pygtr"]
[ext_resource type="Script" path="res://scripts/player.gd" id="1_lm7ix"]
[ext_resource type="Texture2D" uid="uid://dhw3lpuskbvku" path="res://assets/mario-luigi-4.png" id="1_w3chr"]
[ext_resource type="PackedScene" uid="uid://beaktq6mygp6c" path="res://scenes/items/fireball.tscn" id="2_owoxk"]
[ext_resource type="FontFile" uid="uid://cpwx7datjer6s" path="res://assets/PixelOperator8.ttf" id="3_mkgvb"]
[ext_resource type="Texture2D" uid="uid://d0xxlo60h1d7i" path="res://assets/coinlabel.png" id="4_o0q77"]
[ext_resource type="AudioStream" uid="uid://cbs4okawh444d" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Warp.wav" id="5_kvw73"]
[ext_resource type="AudioStream" uid="uid://bo4big602rvtr" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Jump.wav" id="6_aq3u4"]
[ext_resource type="AudioStream" uid="uid://bh8t167vl6j2n" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Kick.wav" id="8_6t158"]
[ext_resource type="AudioStream" uid="uid://b0h07g0c8i84c" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Die.wav" id="9_pu5vq"]
[sub_resource type="AtlasTexture" id="AtlasTexture_l22ll"]
atlas = ExtResource("1_w3chr")
@@ -19,6 +22,10 @@ region = Rect2(80, 34, 16, 16)
atlas = ExtResource("1_w3chr")
region = Rect2(80, 1, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kxd3p"]
atlas = ExtResource("1_w3chr")
region = Rect2(80, 129, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_dmbgr"]
atlas = ExtResource("1_w3chr")
region = Rect2(165, 34, 16, 16)
@@ -27,6 +34,10 @@ region = Rect2(165, 34, 16, 16)
atlas = ExtResource("1_w3chr")
region = Rect2(165, 1, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_npe6k"]
atlas = ExtResource("1_w3chr")
region = Rect2(165, 129, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_jb1pe"]
atlas = ExtResource("1_w3chr")
region = Rect2(97, 34, 16, 16)
@@ -51,6 +62,18 @@ region = Rect2(114, 1, 16, 32)
atlas = ExtResource("1_w3chr")
region = Rect2(131, 1, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_iljl6"]
atlas = ExtResource("1_w3chr")
region = Rect2(97, 129, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_7pcnf"]
atlas = ExtResource("1_w3chr")
region = Rect2(114, 129, 16, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_jva7o"]
atlas = ExtResource("1_w3chr")
region = Rect2(131, 129, 16, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_l5s58"]
animations = [{
"frames": [{
@@ -79,6 +102,14 @@ animations = [{
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_kxd3p")
}],
"loop": true,
"name": &"idle_flower",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_dmbgr")
}],
"loop": true,
@@ -95,6 +126,14 @@ animations = [{
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_npe6k")
}],
"loop": true,
"name": &"jump_flower",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_jb1pe")
}, {
"duration": 1.0,
@@ -120,11 +159,25 @@ animations = [{
"loop": true,
"name": &"run_big",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_iljl6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7pcnf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jva7o")
}],
"loop": true,
"name": &"run_flower",
"speed": 10.0
}]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_4sl4a"]
radius = 6.0
height = 16.0
height = 15.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sqgi2"]
size = Vector2(8, 1)
@@ -132,10 +185,86 @@ size = Vector2(8, 1)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_okc7h"]
size = Vector2(1, 2)
[sub_resource type="Animation" id="Animation_miyjx"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera2D/ColorRect:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("dieSound:playing")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_jgvs8"]
resource_name = "die"
length = 3.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Camera2D/ColorRect:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("dieSound:playing")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"reload_scene"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_uuoiq"]
_data = {
"RESET": SubResource("Animation_miyjx"),
"die": SubResource("Animation_jgvs8")
}
[node name="player" type="CharacterBody2D"]
position = Vector2(0, -10)
collision_layer = 2
script = ExtResource("1_lm7ix")
fireball_prefab = ExtResource("2_owoxk")
[node name="Camera2D" type="Camera2D" parent="."]
position = Vector2(35, 0)
@@ -156,7 +285,7 @@ color = Color(0, 0, 0, 1)
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, 2)
sprite_frames = SubResource("SpriteFrames_l5s58")
animation = &"idle_big"
animation = &"run_flower"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 2)
@@ -206,6 +335,7 @@ offset_right = 241.0
offset_bottom = 104.0
mouse_filter = 1
theme_override_colors/font_color = Color(1, 0.627451, 0.266667, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_fonts/font = ExtResource("3_mkgvb")
theme_override_font_sizes/font_size = 40
text = "0
@@ -226,6 +356,17 @@ stream = ExtResource("5_kvw73")
[node name="JumpSound" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("6_aq3u4")
[node name="shrinkSound" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("8_6t158")
[node name="dieSound" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("9_pu5vq")
[node name="diePlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_uuoiq")
}
[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_entered" from="pipedetector_right" to="." method="_on_pipedetector_right_area_entered"]
+17
View File
@@ -0,0 +1,17 @@
extends Area2D
@export var load_level: String
@onready var animation_player = $AnimationPlayer
@onready var player = %player
@onready var audio_stream_player = $AudioStreamPlayer
@onready var music = %Music
func _on_body_entered(body):
animation_player.play("change_scene")
player.on_pause = true
music.stop()
func load_new_scene():
get_tree().change_scene_to_file("res://scenes/levels/" + load_level + ".tscn")
+16
View File
@@ -0,0 +1,16 @@
extends Label
@onready var label = $"."
@onready var label_2 = $"../Label2"
@onready var label_3 = $"../Label3"
func _ready():
var platform = ""
match OS.get_name():
"Windows", "macOS", "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD", "Web":
label.text = "A, S, D To Move"
label_2.text = "Space To Jump"
label_3.text = "E To Fire"
"Android", "iOS":
pass
+15
View File
@@ -0,0 +1,15 @@
extends CanvasLayer
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_button_pressed(extra_arg_0):
get_tree().change_scene_to_file("res://scenes/levels/level_"+ extra_arg_0 +".tscn")
+21
View File
@@ -0,0 +1,21 @@
extends Area2D
@onready var timer = $Timer
@onready var label = $"../CanvasLayer/Control/Label"
@onready var player = %player
func _on_body_entered(body):
player.shrink()
player.shrink()
player.shrink()
func _ready():
timer.start()
func _process(delta):
var x = str(int(timer.time_left))
label.text = x
func _on_timer_timeout():
player.shrink()
player.shrink()
player.shrink()
@@ -1,22 +1,33 @@
extends RigidBody2D
@onready var animated_sprite_2d = $AnimatedSprite2D
@export var hit_object:PackedScene
@export var auto_collect:bool
var destroyed = false
var instance = null
var _body = null
@onready var timer = $Timer
func _ready():
animated_sprite_2d.play("idle")#
func _on_activate_body_entered(body):
_body = body
if destroyed:
return
destroyed = true
animated_sprite_2d.play("destroy")
if hit_object == null:
return
var instance = hit_object.instantiate()
instance = hit_object.instantiate()
add_child(instance)
instance.position.y -= 17
instance.position.y -= 16
timer.start()
func _on_timer_timeout():
if auto_collect:
instance.collect_coin(_body)
+6
View File
@@ -0,0 +1,6 @@
extends RigidBody2D
@export var veloc : Vector2
func _physics_process(delta):
linear_velocity = veloc
+22
View File
@@ -0,0 +1,22 @@
extends Node2D
@onready var timer = $Timer
@export var obj : PackedScene
@export var delay : float
var instances = []
func _ready():
timer.wait_time = delay
timer.start()
func _on_timer_timeout():
var instance = obj.instantiate()
instance.position.x = 0
instance.position.y = 0
add_child(instance)
instances.append(instance)
if len(instances) > 5:
var curr = instances.pop_front()
curr.queue_free()
+107
View File
@@ -0,0 +1,107 @@
extends RigidBody2D
@export var speed = -70
@onready var ray_cast_left = $RayCastLeft
@onready var ray_cast_right = $RayCastRight
@onready var animated_sprite_2d = $AnimatedSprite2D
@onready var timer = $Timer
@onready var die = $die
@onready var ray_cast_left_2 = $RayCastLeft2
@onready var ray_cast_right_2 = $RayCastRight2
var innocent = false
@onready var timer_2 = $Timer2
var is_down = false
@onready var collision_shape_2d = $CollisionShape2D
@onready var ray_cast_left_3 = $RayCastLeft3
@onready var ray_cast_right_3 = $RayCastRight3
func _ready():
var coll = CapsuleShape2D.new()
coll.height = 24
coll.radius = 7
collision_shape_2d.shape = coll
func _physics_process(delta):
linear_velocity.x = speed
if ray_cast_left_2 == null:
return
if ray_cast_left.is_colliding() or ray_cast_left_2.is_colliding():
speed = abs(speed)
animated_sprite_2d.flip_h = true
elif ray_cast_right.is_colliding() or ray_cast_right_2.is_colliding():
speed = -abs(speed)
animated_sprite_2d.flip_h = false
var other = null
if ray_cast_left_3.is_colliding():
other = ray_cast_left_3.get_collider()
elif ray_cast_right_3.is_colliding():
other = ray_cast_right_3.get_collider()
if is_down and speed != 0 and other != null:
other.f_die()
if innocent:
return
var body = null
if ray_cast_left_2.is_colliding():
if speed != 0:
body = ray_cast_left_2.get_collider()
else:
speed = 160
innocent = true
die_sound.play()
timer_2.start()
elif ray_cast_right_2.is_colliding():
if speed != 0:
body = ray_cast_right_2.get_collider()
else:
speed = -160
innocent = true
die_sound.play()
timer_2.start()
if body != null:
body.shrink()
innocent = true
timer_2.start()
@onready var die_sound = $dieSound
func f_die():
die_sound.play()
speed = 0
innocent = true
collision_layer = 32
timer.start()
func f_shrink(body):
die_sound.play()
if not is_down:
speed = 0
collision_shape_2d.shape.height -= 9
die.position.y += 2
animated_sprite_2d.play("shrink")
is_down = true
ray_cast_left_2.scale.x = 2
ray_cast_right_2.scale.x = 2
elif speed == 0:
speed = 160 if body.position.x < position.x else -160
else:
speed = 0
func _on_timer_2_timeout():
innocent = false
func _on_die_body_entered(body):
f_shrink(body)
body.velocity.y = body.JUMPt_velocity/1.5
func _on_timer_timeout():
queue_free()
@@ -10,6 +10,7 @@ extends RigidBody2D
@onready var ray_cast_right_2 = $RayCastRight2
var innocent = false
@onready var timer_2 = $Timer2
@onready var gumba = $"."
func _physics_process(delta):
linear_velocity.x = speed
@@ -37,14 +38,18 @@ func _physics_process(delta):
@onready var die_sound = $dieSound
func f_die():
innocent = true
speed = 0
animated_sprite_2d.play("die")
timer.start()
if die != null:
gumba.collision_layer = 32
die.queue_free()
die_sound.play()
ray_cast_left_2.queue_free()
ray_cast_right_2.queue_free()
func _on_die_body_entered(body):
f_die()
body.velocity.y = body.JUMPt_velocity/1.5
+35
View File
@@ -0,0 +1,35 @@
extends Area2D
var innocent = false
@onready var timer = $Timer
@onready var animated_sprite_2d = $AnimatedSprite2D
@onready var collision_shape_2d = $CollisionShape2D
var mover = 25
var up = false
func _on_body_entered(body):
if not innocent:
body.shrink()
innocent = true
timer.start()
func _process(delta):
if mover < 25:
collision_shape_2d.position.y += -1 if up else 1
animated_sprite_2d.position.y += -1 if up else 1
mover += 1
func _on_timer_timeout():
innocent = false
func move_up():
mover = 0
up = true
func move_down():
mover = 0
up = false
func f_die():
queue_free()
+6
View File
@@ -0,0 +1,6 @@
extends Area2D
@onready var animation_player = $AnimationPlayer
func _on_body_entered(body):
body.flower()
animation_player.play("pickup")
+29
View File
@@ -0,0 +1,29 @@
extends RigidBody2D
@onready var timer = $Timer
var enter_count = 0
@onready var audio_stream_player_2d = $AudioStreamPlayer2D
# Called when the node enters the scene tree for the first time.
func _ready():
timer.start()
audio_stream_player_2d.play()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_timer_timeout():
queue_free()
func _on_area_2d_body_entered(body):
enter_count += 1
if enter_count > 2:
queue_free()
func _on_enemie_die_body_entered(body):
body.f_die()
queue_free()
func _on_enemie_die_area_entered(area):
_on_enemie_die_body_entered(area)
+61 -9
View File
@@ -9,6 +9,9 @@ extends CharacterBody2D
@onready var pipedetector_ground = $pipedetector_ground
@onready var pipe_sound = $PipeSound
@onready var jump_sound = $JumpSound
@onready var shrink_sound = $shrinkSound
@onready var die_player = $diePlayer
@onready var music = %Music
const SPEED = 130.0
@@ -24,21 +27,29 @@ var coins = 0
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var on_pause = false
var is_big = false
var is_flower = false
# touch controls
var touch_anchor = Vector2.ZERO
var jump = false
var crawl = false
var fire = false
var toucht_velocity = Vector2.ZERO
var t_velocity = 0
@export var fireball_prefab : PackedScene
func _unhandled_input(event):
if event is InputEventScreenTouch or event is InputEventScreenDrag:
if event.is_pressed():
if event.position.x < get_viewport_rect().size.x / 2:
touch_anchor = event.position
elif not jump:
else:
if event.position.y > get_viewport_rect().size.y / 2:
if not jump:
jump = true
elif not fire:
fire = true
elif event.position.x < get_viewport_rect().size.x / 2:
toucht_velocity = event.position - touch_anchor
if abs(toucht_velocity.x) > 30:
@@ -56,6 +67,8 @@ func _unhandled_input(event):
func _ready():
color_rect.visible = false
pipedetector_ground.position.y = 0
collision_shape_2d.shape.height = 15
func _process(delta):
# set camera
@@ -78,7 +91,7 @@ func _process(delta):
func _physics_process(delta):
# Add the gravity.
if not is_on_floor():
if not is_on_floor() and not on_pause:
velocity.y += gravity * delta
# Handle jump.
@@ -87,8 +100,19 @@ func _physics_process(delta):
jump = false
velocity.y = JUMPt_velocity
# get input
# check fireball
if is_flower and (Input.is_action_just_pressed("flower") or fire):
fire = false
var instance = fireball_prefab.instantiate()
get_parent().add_child(instance)
instance.position.x = position.x -8 if animated_sprite_2d.flip_h else position.x + 8
instance.position.y = position.y
instance.linear_velocity.x = -200 if animated_sprite_2d.flip_h else 200
instance.linear_velocity.y = 50
instance.angular_velocity = 0
# get input
var direction = Input.get_axis("move_left", "move_right") + t_velocity
if on_pause:
@@ -103,17 +127,23 @@ func _physics_process(delta):
# play animation
if is_on_floor():
if direction != 0:
if is_big:
if is_flower:
animated_sprite_2d.play("run_flower")
elif is_big:
animated_sprite_2d.play("run_big")
else:
animated_sprite_2d.play("run")
else:
if is_big:
if is_flower:
animated_sprite_2d.play("idle_flower")
elif is_big:
animated_sprite_2d.play("idle_big")
else:
animated_sprite_2d.play("idle")
else:
if is_big:
if is_flower:
animated_sprite_2d.play("jump_flower")
elif is_big:
animated_sprite_2d.play("jump_big")
else:
animated_sprite_2d.play("jump")
@@ -123,19 +153,41 @@ func _physics_process(delta):
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
if not on_pause:
move_and_slide()
func grow():
if not is_big:
is_big = true
collision_shape_2d.shape.height = 32
collision_shape_2d.shape.height = 31
pipedetector_ground.position.y += 8
func flower():
if not is_big:
collision_shape_2d.shape.height = 31
pipedetector_ground.position.y += 8
is_big = true
is_flower = true
func shrink():
if is_big:
if is_flower:
is_flower = false
shrink_sound.play()
elif is_big:
is_big = false
collision_shape_2d.shape.height = 16
collision_shape_2d.shape.height = 15
pipedetector_ground.position.y -= 8
shrink_sound.play()
else:
player_die()
func player_die():
die_player.play("die")
on_pause = true
music.stop()
func reload_scene():
get_tree().reload_current_scene()
func increase_coins():
coins += 1