Compare commits
21
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7946fd789c | ||
|
|
08f75b79d8 | ||
|
|
2e845bf217 | ||
|
|
e7e72f6109 | ||
|
|
a9c2f587da | ||
|
|
30b0a527b4 | ||
|
|
3d318a5c07 | ||
|
|
6860fda89c | ||
|
|
2242369738 | ||
|
|
7ece2c1391 | ||
|
|
4a64f30c57 | ||
|
|
cf5153c10a | ||
|
|
f0ae51aa75 | ||
|
|
f1f0e53538 | ||
|
|
8ea91b2967 | ||
|
|
1cd04a27cf | ||
|
|
a706375da0 | ||
|
|
a4476f2ce2 | ||
|
|
b18dfee7dc | ||
|
|
85736f82e0 | ||
|
|
3a6f8517c0 |
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"godotTools.editorPath.godot4": "/home/jonas/Dokumente/Godot/Godot.x86_64"
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -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.
|
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.
|
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
|
||||
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
|
||||
Binary file not shown.
@@ -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
|
||||
+122
-53
@@ -8,7 +8,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_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_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
@@ -48,7 +48,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_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_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
@@ -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_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_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=true
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=1
|
||||
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)
|
||||
|
||||
+23
-15
@@ -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"
|
||||
@@ -20,7 +20,11 @@ config/icon="res://assets/icon.png"
|
||||
[display]
|
||||
|
||||
window/stretch/mode="viewport"
|
||||
window/stretch/aspect="keep_height"
|
||||
window/vsync/vsync_mode=0
|
||||
|
||||
[global]
|
||||
|
||||
itch=false
|
||||
|
||||
[input]
|
||||
|
||||
@@ -35,35 +39,39 @@ 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)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[input_devices]
|
||||
[physics]
|
||||
|
||||
pointing/emulate_touch_from_mouse=true
|
||||
pointing/emulate_mouse_from_touch=false
|
||||
2d/physics_engine="GodotPhysics2D"
|
||||
2d/solver/contact_max_allowed_penetration=0.01
|
||||
|
||||
[rendering]
|
||||
|
||||
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -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_aoc4r"]
|
||||
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_aoc4r")
|
||||
one_way_collision = true
|
||||
@@ -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
|
||||
@@ -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,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"]
|
||||
@@ -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"]
|
||||
@@ -0,0 +1,113 @@
|
||||
[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="."]
|
||||
z_index = 3
|
||||
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 = 145
|
||||
|
||||
[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 = 145
|
||||
|
||||
[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"]
|
||||
@@ -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"]
|
||||
@@ -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,11 +45,12 @@ 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")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
z_index = 3
|
||||
position = Vector2(8, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_xnecu")
|
||||
autoplay = "default"
|
||||
@@ -61,7 +62,7 @@ shape = SubResource("CircleShape2D_l4q7u")
|
||||
[node name="RayCastLeft" type="RayCast2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
target_position = Vector2(-9, 0)
|
||||
collision_mask = 17
|
||||
collision_mask = 145
|
||||
|
||||
[node name="RayCastLeft2" type="RayCast2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
@@ -71,7 +72,7 @@ collision_mask = 2
|
||||
[node name="RayCastRight" type="RayCast2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
target_position = Vector2(9, 0)
|
||||
collision_mask = 17
|
||||
collision_mask = 145
|
||||
|
||||
[node name="RayCastRight2" type="RayCast2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -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)
|
||||
@@ -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"]
|
||||
@@ -0,0 +1,69 @@
|
||||
[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="."]
|
||||
z_index = 20
|
||||
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"]
|
||||
@@ -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"]
|
||||
@@ -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,9 +102,10 @@ _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="."]
|
||||
z_index = 20
|
||||
position = Vector2(8, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_s232e")
|
||||
autoplay = "default"
|
||||
@@ -0,0 +1,111 @@
|
||||
[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 = -240.0
|
||||
offset_top = -148.0
|
||||
offset_right = -32.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 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 = 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_right = -32.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 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_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"]]
|
||||
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
File diff suppressed because one or more lines are too long
+2
-2
@@ -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")
|
||||
|
||||
+153
-4
@@ -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,20 +185,99 @@ 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)
|
||||
zoom = Vector2(3, 3)
|
||||
limit_left = -160
|
||||
limit_top = -184
|
||||
limit_bottom = 32
|
||||
limit_smoothed = true
|
||||
position_smoothing_speed = 8.0
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="Camera2D"]
|
||||
visible = false
|
||||
z_index = 10
|
||||
z_index = 50
|
||||
offset_left = -3995.0
|
||||
offset_top = -1678.0
|
||||
offset_right = 3965.0
|
||||
@@ -154,9 +286,10 @@ mouse_filter = 1
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
z_index = 25
|
||||
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 +339,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,9 +360,24 @@ 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")
|
||||
}
|
||||
|
||||
[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_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_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_half" to="." method="_on_pipe_timer_half_timeout"]
|
||||
[connection signal="timeout" from="timer_fire" to="." method="_on_timer_fire_timeout"]
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
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
|
||||
@export var level_score : int
|
||||
|
||||
func _on_body_entered(body):
|
||||
animation_player.play("change_scene")
|
||||
player.on_pause = true
|
||||
music.stop()
|
||||
|
||||
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")
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
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":
|
||||
label.text = "A, S, D To Move"
|
||||
label_2.text = "Space To Jump"
|
||||
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":
|
||||
pass
|
||||
@@ -0,0 +1,22 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@onready var buttons = [$Control/Button_1, $Control/Button_2, $Control/Button_3,
|
||||
$Control/Button_4, $Control/Button_5
|
||||
]
|
||||
var available_level = 0
|
||||
|
||||
func _ready():
|
||||
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
|
||||
|
||||
for i in range(0, available_level):
|
||||
if i < len(buttons):
|
||||
buttons[i].disabled = false
|
||||
|
||||
func _on_button_pressed(extra_arg_0):
|
||||
get_tree().change_scene_to_file("res://scenes/levels/level_"+ extra_arg_0 +".tscn")
|
||||
@@ -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()
|
||||
@@ -0,0 +1,23 @@
|
||||
extends RigidBody2D
|
||||
|
||||
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||
@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():
|
||||
animated_sprite_2d.play("default")
|
||||
|
||||
func _on_activate_body_entered(body):
|
||||
if hit_object == null:
|
||||
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()
|
||||
@@ -1,15 +1,21 @@
|
||||
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")
|
||||
@@ -17,6 +23,11 @@ func _on_activate_body_entered(body):
|
||||
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)
|
||||
@@ -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,6 @@
|
||||
extends RigidBody2D
|
||||
|
||||
@export var veloc : Vector2
|
||||
|
||||
func _physics_process(delta):
|
||||
linear_velocity = veloc
|
||||
@@ -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()
|
||||
@@ -1,11 +0,0 @@
|
||||
extends RigidBody2D
|
||||
|
||||
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||
@onready var animation_player = $AnimationPlayer
|
||||
|
||||
func _ready():
|
||||
animated_sprite_2d.play("default")
|
||||
|
||||
func _on_activate_body_entered(body):
|
||||
if body.is_big:
|
||||
animation_player.play("destroy")
|
||||
@@ -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")
|
||||
@@ -0,0 +1,112 @@
|
||||
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
|
||||
@onready var player = %player
|
||||
|
||||
func _ready():
|
||||
var coll = CapsuleShape2D.new()
|
||||
coll.height = 24
|
||||
coll.radius = 7
|
||||
collision_shape_2d.shape = coll
|
||||
|
||||
func _physics_process(delta):
|
||||
if abs(position.x - player.position.x) < 225 or is_down:
|
||||
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:
|
||||
# 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
|
||||
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()
|
||||
@@ -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
|
||||
@@ -10,9 +10,12 @@ extends RigidBody2D
|
||||
@onready var ray_cast_right_2 = $RayCastRight2
|
||||
var innocent = false
|
||||
@onready var timer_2 = $Timer2
|
||||
@onready var gumba = $"."
|
||||
@onready var player = %player
|
||||
|
||||
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:
|
||||
return
|
||||
@@ -37,13 +40,17 @@ func _physics_process(delta):
|
||||
@onready var die_sound = $dieSound
|
||||
|
||||
func f_die():
|
||||
innocent = true
|
||||
speed = 0
|
||||
animated_sprite_2d.play("die")
|
||||
timer.start()
|
||||
die.queue_free()
|
||||
die_sound.play()
|
||||
ray_cast_left_2.queue_free()
|
||||
ray_cast_right_2.queue_free()
|
||||
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()
|
||||
@@ -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()
|
||||
@@ -0,0 +1,6 @@
|
||||
extends Area2D
|
||||
@onready var animation_player = $AnimationPlayer
|
||||
|
||||
func _on_body_entered(body):
|
||||
body.flower()
|
||||
animation_player.play("pickup")
|
||||
@@ -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)
|
||||
@@ -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
|
||||
+79
-13
@@ -9,10 +9,14 @@ 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
|
||||
@onready var timer_fire = $timer_fire
|
||||
|
||||
|
||||
const SPEED = 130.0
|
||||
const JUMPt_velocity = -360.0
|
||||
var JUMPt_velocity = -360.0
|
||||
var on_pipe = false
|
||||
var right_pipe = false
|
||||
var left_pipe = false
|
||||
@@ -24,21 +28,30 @@ 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
|
||||
var can_fire = 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:
|
||||
jump = true
|
||||
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,18 +69,21 @@ 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
|
||||
if position.y <= 32:
|
||||
camera_2d.limit_bottom = 32
|
||||
camera_2d.limit_top = -1000000
|
||||
camera_2d.limit_top = -1000
|
||||
else:
|
||||
camera_2d.limit_bottom = 272
|
||||
camera_2d.limit_top = 32
|
||||
|
||||
# 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):
|
||||
on_pause = true
|
||||
pipe_sound.play()
|
||||
crawl = false
|
||||
t_velocity = 0
|
||||
@@ -78,7 +94,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 +103,21 @@ func _physics_process(delta):
|
||||
jump = false
|
||||
velocity.y = JUMPt_velocity
|
||||
|
||||
# check fireball
|
||||
if is_flower and (Input.is_action_just_pressed("flower") or fire) and can_fire < 2:
|
||||
can_fire += 1
|
||||
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
|
||||
timer_fire.start()
|
||||
|
||||
|
||||
# get input
|
||||
|
||||
var direction = Input.get_axis("move_left", "move_right") + t_velocity
|
||||
|
||||
if on_pause:
|
||||
@@ -103,17 +132,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 +158,46 @@ func _physics_process(delta):
|
||||
else:
|
||||
velocity.x = move_toward(velocity.x, 0, SPEED)
|
||||
|
||||
move_and_slide()
|
||||
if not on_pause:
|
||||
move_and_slide()
|
||||
|
||||
func grow():
|
||||
if not is_big:
|
||||
is_big = true
|
||||
collision_shape_2d.shape.height = 32
|
||||
if is_on_floor():
|
||||
position.y -= 20
|
||||
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 on_pause:
|
||||
return
|
||||
|
||||
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
|
||||
@@ -164,3 +226,7 @@ func _on_pipe_timer_timeout():
|
||||
|
||||
func _on_pipe_timer_half_timeout():
|
||||
position = pipe_target
|
||||
|
||||
|
||||
func _on_timer_fire_timeout():
|
||||
can_fire = 0
|
||||
|
||||
Reference in New Issue
Block a user