Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
814ccd919b | ||
|
|
4fedce84d8 | ||
|
|
52c7e5a699 | ||
|
|
4e912d712d | ||
|
|
65754540a9 | ||
|
|
82a82a5c14 | ||
|
|
a2f9549d15 | ||
|
|
6ef02c5628 | ||
|
|
3f4a905999 | ||
|
|
ba42f2b7ad | ||
|
|
efd553e8b0 | ||
|
|
2ea5608b12 | ||
|
|
ae085feeab | ||
|
|
7946fd789c | ||
|
|
08f75b79d8 | ||
|
|
2e845bf217 | ||
|
|
e7e72f6109 | ||
|
|
a9c2f587da | ||
|
|
30b0a527b4 | ||
|
|
3d318a5c07 | ||
|
|
6860fda89c |
@@ -1 +1,16 @@
|
||||
see [Releases](https://git.sechat.de/jonas/retromariogodot/-/releases)
|
||||
see [Releases](https://gitlab.com/brausjonas/retromariogodot/-/releases)<br/>
|
||||
https://mariomaker32.itch.io/mario-bros-retro - pwd: 1234
|
||||
|
||||
<br/>
|
||||
|
||||
xcodebuild -scheme "namedesprojekts" -destination "generic/platform=iOS" CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY="" -archivePath "DeinArchivName.xcarchive" build
|
||||
<br/>
|
||||
dann build durch "archive" ersetzen - beim build kein archive angeben
|
||||
<br/>
|
||||
mkdir Payload
|
||||
<br/>
|
||||
Im xcarchive (Products/Applications):
|
||||
<br/>
|
||||
mv ../../../Payload
|
||||
<br/>
|
||||
zip -qq -r -9 FlutterIpaExport.ipa Payload
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 626 B |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bkrv87t2ryjd0"
|
||||
path="res://.godot/imported/Dead.png-29ce68f874dbc43f4f9778a714b32623.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Dead.png"
|
||||
dest_files=["res://.godot/imported/Dead.png-29ce68f874dbc43f4f9778a714b32623.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: 649 B |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dgyuh7qglc7vd"
|
||||
path="res://.godot/imported/Flag.png-47653dcbce6ad9726dae00766f6d8d5d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Flag.png"
|
||||
dest_files=["res://.godot/imported/Flag.png-47653dcbce6ad9726dae00766f6d8d5d.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.
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bwrwij2s8csyn"
|
||||
path="res://.godot/imported/1.png-ab0c3ae98db1c6648eb7fb8190d73dd9.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/screenshots/1.png"
|
||||
dest_files=["res://.godot/imported/1.png-ab0c3ae98db1c6648eb7fb8190d73dd9.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://dpcasau50jn28"
|
||||
path="res://.godot/imported/04. Castle Theme.mp3-7bb3145a500b4414d1e91508ab6bd85a.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/04. Castle Theme.mp3"
|
||||
dest_files=["res://.godot/imported/04. Castle Theme.mp3-7bb3145a500b4414d1e91508ab6bd85a.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://d33nllvmlw3oh"
|
||||
path="res://.godot/imported/07. Castle Complete.mp3-d4fc76ed9c48e387466ba00be9c041a9.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/07. Castle Complete.mp3"
|
||||
dest_files=["res://.godot/imported/07. Castle Complete.mp3-d4fc76ed9c48e387466ba00be9c041a9.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
Binary file not shown.
+80
-6
@@ -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
|
||||
@@ -314,7 +314,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Mac/retromario.zip"
|
||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Mac/retromario.zip"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
@@ -419,7 +419,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Web/retromario.html"
|
||||
export_path="../../../../../home/jonas/Schreibtisch/Export_Web/index.html"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
@@ -438,11 +438,85 @@ html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=false
|
||||
progressive_web_app/enabled=true
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=0
|
||||
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)
|
||||
|
||||
[preset.5]
|
||||
|
||||
name="iOS"
|
||||
platform="iOS"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../../../../home/jonas/Schreibtisch/Export_IOS/retromario.ipa"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
|
||||
[preset.5.options]
|
||||
|
||||
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=1
|
||||
application/targeted_device_family=2
|
||||
application/bundle_identifier="com.retro.mario"
|
||||
application/signature=""
|
||||
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={}
|
||||
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=""
|
||||
|
||||
+11
-7
@@ -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
|
||||
|
||||
[dotnet]
|
||||
|
||||
project/assembly_name="RetroMario"
|
||||
|
||||
[global]
|
||||
|
||||
@@ -41,37 +45,38 @@ move_left={
|
||||
"deadzone": 0.5,
|
||||
"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)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
move_right={
|
||||
"deadzone": 0.5,
|
||||
"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)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
jump={
|
||||
"deadzone": 0.5,
|
||||
"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)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
crawl={
|
||||
"deadzone": 0.5,
|
||||
"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)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":true,"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)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[input_devices]
|
||||
|
||||
pointing/emulate_touch_from_mouse=true
|
||||
pointing/emulate_mouse_from_touch=false
|
||||
|
||||
[physics]
|
||||
|
||||
2d/physics_engine="GodotPhysics2D"
|
||||
@@ -81,4 +86,3 @@ pointing/emulate_mouse_from_touch=false
|
||||
|
||||
textures/canvas_textures/default_texture_filter=0
|
||||
textures/vram_compression/import_etc2_astc=true
|
||||
environment/defaults/default_clear_color=Color(1, 1, 1, 1)
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://badk308gvg1my"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/blocks/itemblock_invisible.gd" id="1_ap62p"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4kmo0"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_enc16"]
|
||||
size = Vector2(10, 1)
|
||||
|
||||
[node name="itemblock_invisible" type="RigidBody2D"]
|
||||
gravity_scale = 0.0
|
||||
script = ExtResource("1_ap62p")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_4kmo0")
|
||||
|
||||
[node name="activate" type="Area2D" parent="."]
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="activate"]
|
||||
position = Vector2(8, 0.5)
|
||||
shape = SubResource("RectangleShape2D_enc16")
|
||||
|
||||
[connection signal="body_entered" from="activate" to="." method="_on_activate_body_entered"]
|
||||
@@ -18,7 +18,7 @@ animations = [{
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_w18em"]
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_aoc4r"]
|
||||
size = Vector2(48, 8)
|
||||
|
||||
[node name="MovePlatform" type="RigidBody2D"]
|
||||
@@ -33,5 +33,5 @@ veloc = Vector2(0, 50)
|
||||
sprite_frames = SubResource("SpriteFrames_hdxpr")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_w18em")
|
||||
shape = SubResource("RectangleShape2D_aoc4r")
|
||||
one_way_collision = true
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://btwegds3up8cn"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_pvodq"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c4pt3"]
|
||||
size = Vector2(48, 8)
|
||||
|
||||
[node name="Platform" type="AnimatableBody2D"]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
z_index = 20
|
||||
texture = ExtResource("1_pvodq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(63, 38, 48, 8)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_c4pt3")
|
||||
one_way_collision = true
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bobox153pirkx"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_7tugu"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c4pt3"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[node name="Platform" type="AnimatableBody2D"]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
z_index = 20
|
||||
texture = ExtResource("1_7tugu")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(26, 38, 32, 8)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_c4pt3")
|
||||
one_way_collision = true
|
||||
@@ -0,0 +1,62 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://43ujxqfabnuq"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_7p65b"]
|
||||
[ext_resource type="Script" path="res://scripts/enemies/bowser_jr_fire.gd" id="1_tnrjq"]
|
||||
[ext_resource type="AudioStream" uid="uid://csx5laixrg5dh" path="res://assets/sounds/NES - Super Mario Bros - Sound Effects/Super Mario Bros 1 and 2(JP)/Enemy Fire.wav" id="3_i70fm"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4dnoh"]
|
||||
atlas = ExtResource("1_7p65b")
|
||||
region = Rect2(101, 253, 24, 8)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7tb0p"]
|
||||
atlas = ExtResource("1_7p65b")
|
||||
region = Rect2(131, 253, 24, 8)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_kv1f5"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4dnoh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7tb0p")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_axybf"]
|
||||
size = Vector2(24, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mxod3"]
|
||||
size = Vector2(24, 8)
|
||||
|
||||
[node name="BowserJRFire" type="Area2D"]
|
||||
collision_layer = 128
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_tnrjq")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(-12, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_kv1f5")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-12, 0)
|
||||
shape = SubResource("RectangleShape2D_axybf")
|
||||
|
||||
[node name="die" type="Area2D" parent="."]
|
||||
collision_layer = 2147483648
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="die"]
|
||||
position = Vector2(-12, 0)
|
||||
shape = SubResource("RectangleShape2D_mxod3")
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("3_i70fm")
|
||||
autoplay = true
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered_player"]
|
||||
[connection signal="body_entered" from="die" to="." method="_on_die_body_entered"]
|
||||
[connection signal="finished" from="AudioStreamPlayer2D" to="." method="_on_audio_stream_player_2d_finished"]
|
||||
@@ -0,0 +1,119 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://byk5q0ddm54hi"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/bowserjr.gd" id="1_0ucqp"]
|
||||
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_q71vc"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jv53y"]
|
||||
atlas = ExtResource("1_q71vc")
|
||||
region = Rect2(122, 211, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1tyng"]
|
||||
atlas = ExtResource("1_q71vc")
|
||||
region = Rect2(82, 211, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_q2270"]
|
||||
atlas = ExtResource("1_q71vc")
|
||||
region = Rect2(2, 211, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3jf1h"]
|
||||
atlas = ExtResource("1_q71vc")
|
||||
region = Rect2(42, 211, 32, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_xw3te"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jv53y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1tyng")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_q2270")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3jf1h")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"open_mouth",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_tvg0d"]
|
||||
radius = 16.0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pjtcx"]
|
||||
resource_name = "default"
|
||||
length = 6.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "method"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(3, 5.9),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"shoot"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"jump"
|
||||
}]
|
||||
}
|
||||
tracks/1/type = "method"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(6),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"shoot"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_y7g55"]
|
||||
_data = {
|
||||
"default": SubResource("Animation_pjtcx")
|
||||
}
|
||||
|
||||
[node name="bowserjr" type="RigidBody2D"]
|
||||
collision_layer = 128
|
||||
gravity_scale = 0.6
|
||||
script = ExtResource("1_0ucqp")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(16, -16)
|
||||
sprite_frames = SubResource("SpriteFrames_xw3te")
|
||||
animation = &"open_mouth"
|
||||
autoplay = "default"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(16, -16)
|
||||
shape = SubResource("CircleShape2D_tvg0d")
|
||||
|
||||
[node name="ShootSpawner" type="Node2D" parent="."]
|
||||
position = Vector2(0, -22)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_y7g55")
|
||||
}
|
||||
autoplay = "default"
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
@@ -0,0 +1,238 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://d0npbb0w73ajk"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cbcqfbbrmin4n" path="res://assets/bg-1-4.png" id="1_gsxjq"]
|
||||
[ext_resource type="Script" path="res://scripts/enemies/bridge.gd" id="1_itywv"]
|
||||
[ext_resource type="AudioStream" uid="uid://d33nllvmlw3oh" path="res://assets/sounds/07. Castle Complete.mp3" id="3_aqpeh"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7th4j"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6td4j"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[node name="bridge" type="Node2D"]
|
||||
script = ExtResource("1_itywv")
|
||||
|
||||
[node name="RigidBody2D" type="RigidBody2D" parent="."]
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D2" type="RigidBody2D" parent="."]
|
||||
position = Vector2(16, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D2"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D2"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D3" type="RigidBody2D" parent="."]
|
||||
position = Vector2(32, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D3"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D3"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D4" type="RigidBody2D" parent="."]
|
||||
position = Vector2(48, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D4"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D4"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D5" type="RigidBody2D" parent="."]
|
||||
position = Vector2(64, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D5"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D5"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D6" type="RigidBody2D" parent="."]
|
||||
position = Vector2(80, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D6"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D6"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D7" type="RigidBody2D" parent="."]
|
||||
position = Vector2(96, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D7"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D7"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D8" type="RigidBody2D" parent="."]
|
||||
position = Vector2(112, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D8"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D8"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D9" type="RigidBody2D" parent="."]
|
||||
position = Vector2(128, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D9"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D9"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D10" type="RigidBody2D" parent="."]
|
||||
position = Vector2(144, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D10"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D10"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D11" type="RigidBody2D" parent="."]
|
||||
position = Vector2(160, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D11"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D11"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D12" type="RigidBody2D" parent="."]
|
||||
position = Vector2(176, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D12"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D12"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="RigidBody2D13" type="RigidBody2D" parent="."]
|
||||
position = Vector2(192, 0)
|
||||
gravity_scale = 0.0
|
||||
lock_rotation = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D13"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2048, 160, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D13"]
|
||||
position = Vector2(8, -8)
|
||||
shape = SubResource("RectangleShape2D_7th4j")
|
||||
|
||||
[node name="chain" type="Sprite2D" parent="."]
|
||||
position = Vector2(200, -24)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2240, 144, 16, 16)
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="Sprite2D15" type="Sprite2D" parent="Area2D"]
|
||||
position = Vector2(216, -40)
|
||||
texture = ExtResource("1_gsxjq")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2256, 128, 16, 16)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(216, -40)
|
||||
shape = SubResource("RectangleShape2D_6td4j")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.2
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("3_aqpeh")
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
[connection signal="finished" from="AudioStreamPlayer" to="." method="_on_audio_stream_player_finished"]
|
||||
@@ -51,6 +51,7 @@ lock_rotation = true
|
||||
script = ExtResource("1_iin32")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
z_index = 3
|
||||
position = Vector2(8, -12)
|
||||
sprite_frames = SubResource("SpriteFrames_g2x7m")
|
||||
autoplay = "default"
|
||||
@@ -62,7 +63,7 @@ shape = SubResource("CapsuleShape2D_8406q")
|
||||
[node name="RayCastLeft" type="RayCast2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
target_position = Vector2(-8, 0)
|
||||
collision_mask = 17
|
||||
collision_mask = 145
|
||||
|
||||
[node name="RayCastLeft2" type="RayCast2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
@@ -77,7 +78,7 @@ collision_mask = 128
|
||||
[node name="RayCastRight" type="RayCast2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
target_position = Vector2(8, 0)
|
||||
collision_mask = 17
|
||||
collision_mask = 145
|
||||
|
||||
[node name="RayCastRight2" type="RayCast2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://b4rid627344t4"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ddl5f3lldrp2n" path="res://assets/enemies.png" id="1_gwkcq"]
|
||||
[ext_resource type="Script" path="res://scripts/enemies/fire_wand.gd" id="1_lapua"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yd1fw"]
|
||||
atlas = ExtResource("1_gwkcq")
|
||||
region = Rect2(26, 150, 8, 8)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_owi6g"]
|
||||
atlas = ExtResource("1_gwkcq")
|
||||
region = Rect2(41, 150, 8, 8)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e5nv8"]
|
||||
atlas = ExtResource("1_gwkcq")
|
||||
region = Rect2(26, 165, 8, 8)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5oy1g"]
|
||||
atlas = ExtResource("1_gwkcq")
|
||||
region = Rect2(41, 165, 8, 8)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_6y4se"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yd1fw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_owi6g")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e5nv8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5oy1g")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2qrrp"]
|
||||
size = Vector2(58, 8)
|
||||
|
||||
[node name="fire_wand" type="Area2D"]
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_lapua")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
frame_progress = 0.284379
|
||||
|
||||
[node name="AnimatedSprite2D3" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(10, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.428306
|
||||
|
||||
[node name="AnimatedSprite2D2" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(20, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
frame_progress = 0.284379
|
||||
|
||||
[node name="AnimatedSprite2D4" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(30, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.428306
|
||||
|
||||
[node name="AnimatedSprite2D5" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(40, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
frame_progress = 0.284379
|
||||
|
||||
[node name="AnimatedSprite2D6" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(50, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_6y4se")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.428306
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(25, 0)
|
||||
shape = SubResource("RectangleShape2D_2qrrp")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
@@ -50,6 +50,7 @@ lock_rotation = true
|
||||
script = ExtResource("1_o30u3")
|
||||
|
||||
[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)
|
||||
|
||||
@@ -28,6 +28,9 @@ animations = [{
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mdpkr"]
|
||||
size = Vector2(16, 24)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_axvvr"]
|
||||
length = 0.001
|
||||
|
||||
[sub_resource type="Animation" id="Animation_g0wcr"]
|
||||
resource_name = "default"
|
||||
length = 8.0
|
||||
@@ -50,9 +53,6 @@ tracks/0/keys = {
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_axvvr"]
|
||||
length = 0.001
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_x0mu6"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_axvvr"),
|
||||
|
||||
@@ -39,6 +39,7 @@ 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="."]
|
||||
|
||||
@@ -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,61 @@
|
||||
[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, 47)
|
||||
|
||||
[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")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(8, -23.5)
|
||||
shape = SubResource("RectangleShape2D_mnewg")
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
|
||||
position = Vector2(8, -12)
|
||||
shape = SubResource("RectangleShape2D_luw3y")
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]
|
||||
[connection signal="body_exited" from="Area2D" to="." method="_on_area_2d_body_exited"]
|
||||
@@ -105,6 +105,7 @@ lock_rotation = true
|
||||
script = ExtResource("1_qo5bm")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
z_index = 20
|
||||
position = Vector2(8, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_s232e")
|
||||
autoplay = "default"
|
||||
|
||||
+82
-11
@@ -1,7 +1,9 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://drbqiko4xx71d"]
|
||||
[gd_scene load_steps=5 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"]
|
||||
[ext_resource type="Texture2D" uid="uid://dgyuh7qglc7vd" path="res://assets/Flag.png" id="3_v04a0"]
|
||||
[ext_resource type="Texture2D" uid="uid://bkrv87t2ryjd0" path="res://assets/Dead.png" id="4_3d18b"]
|
||||
|
||||
[node name="LevelSelect" type="CanvasLayer"]
|
||||
script = ExtResource("1_ck5bd")
|
||||
@@ -21,15 +23,18 @@ anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -288.0
|
||||
offset_top = -36.0
|
||||
offset_right = -80.0
|
||||
offset_bottom = 28.0
|
||||
offset_left = -336.0
|
||||
offset_top = -100.0
|
||||
offset_right = -192.0
|
||||
offset_bottom = -36.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Level 1"
|
||||
disabled = true
|
||||
text = "1-1"
|
||||
icon = ExtResource("3_v04a0")
|
||||
expand_icon = true
|
||||
|
||||
[node name="Button_2" type="Button" parent="Control"]
|
||||
layout_mode = 1
|
||||
@@ -38,15 +43,81 @@ anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = 80.0
|
||||
offset_top = -36.0
|
||||
offset_right = 288.0
|
||||
offset_bottom = 28.0
|
||||
offset_left = -160.0
|
||||
offset_top = -100.0
|
||||
offset_right = -16.0
|
||||
offset_bottom = -36.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Level 2"
|
||||
disabled = true
|
||||
text = "1-2"
|
||||
icon = ExtResource("3_v04a0")
|
||||
expand_icon = true
|
||||
|
||||
[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 = 16.0
|
||||
offset_top = -100.0
|
||||
offset_right = 160.0
|
||||
offset_bottom = -36.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
disabled = true
|
||||
text = "1-3"
|
||||
icon = ExtResource("3_v04a0")
|
||||
expand_icon = true
|
||||
|
||||
[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 = 192.0
|
||||
offset_top = -100.0
|
||||
offset_right = 336.0
|
||||
offset_bottom = -36.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
disabled = true
|
||||
text = "1-4"
|
||||
icon = ExtResource("4_3d18b")
|
||||
expand_icon = true
|
||||
|
||||
[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 = -336.0
|
||||
offset_top = -4.0
|
||||
offset_right = -192.0
|
||||
offset_bottom = 60.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("2_3ebbo")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
disabled = true
|
||||
text = "2-1"
|
||||
icon = ExtResource("3_v04a0")
|
||||
expand_icon = true
|
||||
|
||||
[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"]]
|
||||
|
||||
+59
-42
@@ -11,10 +11,10 @@
|
||||
[ext_resource type="PackedScene" uid="uid://be832pldgbeyk" path="res://scenes/pipe.tscn" id="9_sfjeq"]
|
||||
[ext_resource type="AudioStream" uid="uid://cdtrw675os7dh" path="res://assets/sounds/01. Ground Theme.mp3" id="10_n5jvu"]
|
||||
[ext_resource type="FontFile" uid="uid://cpwx7datjer6s" path="res://assets/PixelOperator8.ttf" id="11_1j7cv"]
|
||||
[ext_resource type="Script" path="res://scripts/Label_Platform.gd" id="12_uc2k2"]
|
||||
[ext_resource type="Script" path="res://scripts/WorldBoundDown.gd" id="13_je7o8"]
|
||||
[ext_resource type="PackedScene" uid="uid://bm04qp5vgbi10" path="res://scenes/flag.tscn" id="14_ry537"]
|
||||
[ext_resource type="PackedScene" uid="uid://dflvi18e358ek" path="res://scenes/blocks/enimie_barrier.tscn" id="15_ac2kk"]
|
||||
[ext_resource type="PackedScene" uid="uid://bkpny146y0y0e" path="res://scenes/enemies/coopa.tscn" id="16_dfvj4"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_sdqov"]
|
||||
texture = ExtResource("1_p04bh")
|
||||
@@ -19088,6 +19088,8 @@ auto_collect = true
|
||||
|
||||
[node name="destroyblock" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||
position = Vector2(160, -48)
|
||||
hit_object = ExtResource("4_7ycg6")
|
||||
auto_collect = true
|
||||
|
||||
[node name="itemblock2" parent="interactable_blocks" instance=ExtResource("3_4oas0")]
|
||||
position = Vector2(176, -48)
|
||||
@@ -19095,6 +19097,8 @@ hit_object = ExtResource("6_1e33i")
|
||||
|
||||
[node name="destroyblock2" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||
position = Vector2(192, -48)
|
||||
hit_object = ExtResource("4_7ycg6")
|
||||
auto_collect = true
|
||||
|
||||
[node name="itemblock3" parent="interactable_blocks" instance=ExtResource("3_4oas0")]
|
||||
position = Vector2(208, -48)
|
||||
@@ -19159,6 +19163,8 @@ auto_collect = true
|
||||
|
||||
[node name="destroyblock17" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||
position = Vector2(1424, -48)
|
||||
hit_object = ExtResource("4_7ycg6")
|
||||
auto_collect = true
|
||||
|
||||
[node name="destroyblock18" parent="interactable_blocks" instance=ExtResource("5_k4kpc")]
|
||||
position = Vector2(1520, -48)
|
||||
@@ -19315,28 +19321,52 @@ position = Vector2(736, 0)
|
||||
position = Vector2(768, 0)
|
||||
|
||||
[node name="Gumba4" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1120, 0)
|
||||
position = Vector2(1200, -128)
|
||||
|
||||
[node name="Gumba5" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1152, 0)
|
||||
position = Vector2(1232, -128)
|
||||
|
||||
[node name="Gumba6" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1472, 0)
|
||||
|
||||
[node name="Gumba7" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1648, 0)
|
||||
[node name="Gumba16" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1504, 0)
|
||||
|
||||
[node name="Gumba8" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(2672, 0)
|
||||
position = Vector2(2784, 0)
|
||||
|
||||
[node name="Gumba9" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(2752, 0)
|
||||
position = Vector2(2816, 0)
|
||||
|
||||
[node name="Gumba10" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(576, 0)
|
||||
|
||||
[node name="coopa" parent="Enemies" instance=ExtResource("16_dfvj4")]
|
||||
position = Vector2(1632, 0)
|
||||
|
||||
[node name="Gumba7" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1760, 0)
|
||||
|
||||
[node name="Gumba11" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1792, 0)
|
||||
|
||||
[node name="Gumba12" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1936, 0)
|
||||
|
||||
[node name="Gumba13" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(1968, 0)
|
||||
|
||||
[node name="Gumba14" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(2016, 0)
|
||||
|
||||
[node name="Gumba15" parent="Enemies" instance=ExtResource("8_6vd8t")]
|
||||
position = Vector2(2048, 0)
|
||||
|
||||
[node name="Pipes" type="Node" parent="."]
|
||||
|
||||
[node name="pipe" parent="Pipes" instance=ExtResource("9_sfjeq")]
|
||||
position = Vector2(832, -64)
|
||||
target = Vector2(800, 224)
|
||||
target = Vector2(640, 192)
|
||||
|
||||
[node name="pipe2" parent="Pipes" instance=ExtResource("9_sfjeq")]
|
||||
position = Vector2(816, 240)
|
||||
@@ -19349,40 +19379,6 @@ stream = ExtResource("10_n5jvu")
|
||||
volume_db = -5.0
|
||||
autoplay = true
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
offset_left = -136.0
|
||||
offset_top = -111.0
|
||||
offset_right = 98.0
|
||||
offset_bottom = -88.0
|
||||
theme_override_colors/font_color = Color(0.25332, 0.473895, 1, 1)
|
||||
theme_override_fonts/font = ExtResource("11_1j7cv")
|
||||
text = "Swipe Left To Move"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
script = ExtResource("12_uc2k2")
|
||||
|
||||
[node name="Label2" type="Label" parent="."]
|
||||
offset_left = -151.0
|
||||
offset_top = -87.0
|
||||
offset_right = 105.0
|
||||
offset_bottom = -64.0
|
||||
theme_override_colors/font_color = Color(0.25332, 0.473895, 1, 1)
|
||||
theme_override_fonts/font = ExtResource("11_1j7cv")
|
||||
text = "Right Down Tap Jump"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Label3" type="Label" parent="."]
|
||||
offset_left = 1048.0
|
||||
offset_top = -98.0
|
||||
offset_right = 1304.0
|
||||
offset_bottom = -75.0
|
||||
theme_override_colors/font_color = Color(0.25332, 0.473895, 1, 1)
|
||||
theme_override_fonts/font = ExtResource("11_1j7cv")
|
||||
text = "Right Up Tap Fire"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="WorldBoundDown" type="Area2D" parent="."]
|
||||
collision_layer = 32768
|
||||
collision_mask = 2
|
||||
@@ -19422,6 +19418,7 @@ text = "120"
|
||||
|
||||
[node name="Flag" parent="." instance=ExtResource("14_ry537")]
|
||||
load_level = "level_0"
|
||||
level_score = 2
|
||||
|
||||
[node name="StaticBody2D" parent="." instance=ExtResource("15_ac2kk")]
|
||||
position = Vector2(1040, 0)
|
||||
@@ -19432,5 +19429,25 @@ position = Vector2(1296, 0)
|
||||
[node name="StaticBody2D3" parent="." instance=ExtResource("15_ac2kk")]
|
||||
position = Vector2(1328, 0)
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(35, 0)
|
||||
zoom = Vector2(3, 3)
|
||||
limit_left = -160
|
||||
limit_top = -184
|
||||
limit_bottom = 32
|
||||
position_smoothing_speed = 10.0
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="Camera2D"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
z_index = 50
|
||||
offset_left = -3995.0
|
||||
offset_top = -1678.0
|
||||
offset_right = 3965.0
|
||||
offset_bottom = 1594.0
|
||||
mouse_filter = 1
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[connection signal="body_entered" from="WorldBoundDown" to="WorldBoundDown" method="_on_body_entered"]
|
||||
[connection signal="timeout" from="WorldBoundDown/Timer" to="WorldBoundDown" method="_on_timer_timeout"]
|
||||
|
||||
+85
-33
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
+14
-49
@@ -190,7 +190,7 @@ length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D/ColorRect:visible")
|
||||
tracks/0/path = NodePath("dieSound:playing")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
@@ -199,18 +199,6 @@ tracks/0/keys = {
|
||||
"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"
|
||||
@@ -218,34 +206,22 @@ length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D/ColorRect:visible")
|
||||
tracks/0/path = NodePath("dieSound:playing")
|
||||
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 = {
|
||||
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(3),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
@@ -266,23 +242,8 @@ 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_bottom = 32
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="Camera2D"]
|
||||
visible = false
|
||||
z_index = 10
|
||||
offset_left = -3995.0
|
||||
offset_top = -1678.0
|
||||
offset_right = 3965.0
|
||||
offset_bottom = 1594.0
|
||||
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 = &"run_flower"
|
||||
@@ -367,9 +328,13 @@ 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"]
|
||||
|
||||
+10
-1
@@ -5,7 +5,7 @@ extends Area2D
|
||||
@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")
|
||||
@@ -13,5 +13,14 @@ func _on_body_entered(body):
|
||||
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")
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
extends Label
|
||||
@onready var label = $"."
|
||||
@onready var label_2 = $"../Label2"
|
||||
@onready var label_3 = $"../Label3"
|
||||
|
||||
|
||||
func _ready():
|
||||
var platform = ""
|
||||
|
||||
match OS.get_name():
|
||||
"Windows", "macOS", "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD", "Web":
|
||||
label.text = "A, S, D To Move"
|
||||
label_2.text = "Space To Jump"
|
||||
label_3.text = "E To Fire"
|
||||
"Android", "iOS":
|
||||
pass
|
||||
+13
-6
@@ -1,15 +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
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
var config = ConfigFile.new()
|
||||
var err = config.load("user://config.cfg")
|
||||
|
||||
if err == OK:
|
||||
available_level = config.get_value("level", "available_level", 1)
|
||||
else:
|
||||
available_level = 1
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
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")
|
||||
|
||||
@@ -2,10 +2,22 @@ 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 body.is_big:
|
||||
animation_player.play("destroy")
|
||||
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()
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
extends RigidBody2D
|
||||
@export var hit_object:PackedScene
|
||||
@onready var collision_shape_2d = $CollisionShape2D
|
||||
|
||||
func _ready():
|
||||
collision_shape_2d.disabled = true
|
||||
|
||||
func _on_activate_body_entered(body):
|
||||
if hit_object == null:
|
||||
return
|
||||
|
||||
if body.velocity.y > 0:
|
||||
return
|
||||
|
||||
var instance = hit_object.instantiate()
|
||||
get_parent().add_child(instance)
|
||||
instance.position.x = position.x
|
||||
instance.position.y = position.y
|
||||
queue_free()
|
||||
@@ -0,0 +1,19 @@
|
||||
extends Area2D
|
||||
|
||||
@export var speed = 80
|
||||
@onready var audio_stream_player_2d = $AudioStreamPlayer2D
|
||||
|
||||
func _on_die_body_entered(body):
|
||||
queue_free()
|
||||
|
||||
func _physics_process(delta):
|
||||
position.x += speed * delta
|
||||
|
||||
|
||||
func _on_body_entered_player(body):
|
||||
body.shrink()
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_audio_stream_player_2d_finished():
|
||||
audio_stream_player_2d.play()
|
||||
@@ -0,0 +1,43 @@
|
||||
extends RigidBody2D
|
||||
@onready var player = %player
|
||||
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||
@onready var shoot_spawner = $ShootSpawner
|
||||
const BOWSER_JR_FIRE = preload("res://scenes/enemies/bowser_jr_fire.tscn")
|
||||
var shoot_direction = -1
|
||||
const jump_force = 250
|
||||
@onready var timer = $Timer
|
||||
var pause = false
|
||||
|
||||
func _process(delta):
|
||||
if pause:
|
||||
return
|
||||
if player.position.x > position.x:
|
||||
animated_sprite_2d.flip_h = true
|
||||
shoot_direction = 1
|
||||
shoot_spawner.position.x = 32
|
||||
else:
|
||||
animated_sprite_2d.flip_h = false
|
||||
shoot_direction = -1
|
||||
shoot_spawner.position.x = 0
|
||||
|
||||
func shoot():
|
||||
if pause:
|
||||
return
|
||||
animated_sprite_2d.play("open_mouth")
|
||||
timer.start()
|
||||
var instance = BOWSER_JR_FIRE.instantiate()
|
||||
instance.speed *= shoot_direction
|
||||
get_parent().add_child(instance)
|
||||
instance.position.x = shoot_spawner.global_position.x
|
||||
instance.position.y = shoot_spawner.global_position.y
|
||||
|
||||
func jump():
|
||||
if pause:
|
||||
return
|
||||
linear_velocity.y = -jump_force
|
||||
|
||||
func f_die():
|
||||
pass
|
||||
|
||||
func _on_timer_timeout():
|
||||
animated_sprite_2d.play("default")
|
||||
@@ -0,0 +1,46 @@
|
||||
extends Node2D
|
||||
@onready var bridge_parts = [
|
||||
$RigidBody2D13,
|
||||
$RigidBody2D12,$RigidBody2D11,$RigidBody2D10,$RigidBody2D9,$RigidBody2D8,
|
||||
$RigidBody2D7,$RigidBody2D6,$RigidBody2D5,$RigidBody2D4,$RigidBody2D3,
|
||||
$RigidBody2D2,$RigidBody2D
|
||||
]
|
||||
@onready var chain = $chain
|
||||
@onready var timer = $Timer
|
||||
@onready var sprite_2d_15 = $Area2D/Sprite2D15
|
||||
@onready var player = %player
|
||||
@onready var bowserjr = %bowserjr
|
||||
@onready var audio_stream_player = $AudioStreamPlayer
|
||||
@onready var music = %Music
|
||||
@export var level_score : int
|
||||
|
||||
var curr_down = 0
|
||||
|
||||
func _on_area_2d_body_entered(body):
|
||||
music.stop()
|
||||
audio_stream_player.play()
|
||||
chain.visible = false
|
||||
player.on_pause = true
|
||||
bowserjr.pause = true
|
||||
sprite_2d_15.rotation_degrees = -90
|
||||
timer.start()
|
||||
|
||||
|
||||
func _on_timer_timeout():
|
||||
if curr_down < len(bridge_parts):
|
||||
bridge_parts[curr_down].gravity_scale = 1
|
||||
curr_down += 1
|
||||
else:
|
||||
timer.stop()
|
||||
|
||||
|
||||
func _on_audio_stream_player_finished():
|
||||
var config = ConfigFile.new()
|
||||
var err = config.load("user://config.cfg")
|
||||
|
||||
if err == OK:
|
||||
var available_level = config.get_value("level", "available_level", 0)
|
||||
level_score = level_score if level_score > available_level else available_level
|
||||
config.set_value("level", "available_level", level_score)
|
||||
config.save("user://config.cfg")
|
||||
get_tree().change_scene_to_file("res://scenes/levels/level_0.tscn")
|
||||
@@ -14,6 +14,7 @@ var is_down = false
|
||||
@onready var collision_shape_2d = $CollisionShape2D
|
||||
@onready var ray_cast_left_3 = $RayCastLeft3
|
||||
@onready var ray_cast_right_3 = $RayCastRight3
|
||||
@onready var player = %player
|
||||
|
||||
func _ready():
|
||||
var coll = CapsuleShape2D.new()
|
||||
@@ -22,7 +23,8 @@ func _ready():
|
||||
collision_shape_2d.shape = coll
|
||||
|
||||
func _physics_process(delta):
|
||||
linear_velocity.x = speed
|
||||
if abs(position.x - player.position.x) < 225 or is_down:
|
||||
linear_velocity.x = speed
|
||||
|
||||
if ray_cast_left_2 == null:
|
||||
return
|
||||
@@ -73,6 +75,9 @@ func _physics_process(delta):
|
||||
@onready var die_sound = $dieSound
|
||||
|
||||
func f_die():
|
||||
gravity_scale = 0
|
||||
collision_shape_2d.queue_free()
|
||||
die.queue_free()
|
||||
die_sound.play()
|
||||
speed = 0
|
||||
innocent = true
|
||||
@@ -82,6 +87,9 @@ func f_die():
|
||||
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
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
extends Area2D
|
||||
|
||||
@export var rot_speed = 3
|
||||
@onready var timer = $Timer
|
||||
|
||||
var innocent = false
|
||||
|
||||
func _physics_process(delta):
|
||||
rotate(rot_speed * delta)
|
||||
|
||||
|
||||
func _on_body_entered(body):
|
||||
if not innocent:
|
||||
body.shrink()
|
||||
innocent = true
|
||||
timer.start()
|
||||
|
||||
|
||||
func _on_timer_timeout():
|
||||
innocent = false
|
||||
@@ -11,9 +11,11 @@ extends RigidBody2D
|
||||
var innocent = false
|
||||
@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
|
||||
|
||||
@@ -16,9 +16,9 @@ func _on_body_entered(body):
|
||||
|
||||
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
|
||||
collision_shape_2d.position.y += -25 * delta if up else 25 * delta
|
||||
animated_sprite_2d.position.y += -25 * delta if up else 25 * delta
|
||||
mover += 25 * delta
|
||||
|
||||
func _on_timer_timeout():
|
||||
innocent = false
|
||||
|
||||
@@ -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
|
||||
+34
-6
@@ -1,7 +1,7 @@
|
||||
extends CharacterBody2D
|
||||
@onready var animated_sprite_2d = $AnimatedSprite2D
|
||||
@onready var camera_2d = $Camera2D
|
||||
@onready var color_rect = $Camera2D/ColorRect
|
||||
@onready var camera_2d = %Camera2D
|
||||
@onready var color_rect = %ColorRect
|
||||
@onready var pipe_timer = $pipe_timer
|
||||
@onready var pipe_timer_half = $pipe_timer_half
|
||||
@onready var coin_amt = $CanvasLayer/Control/CoinAmt
|
||||
@@ -12,10 +12,11 @@ extends CharacterBody2D
|
||||
@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
|
||||
@@ -36,6 +37,7 @@ var crawl = false
|
||||
var fire = false
|
||||
var toucht_velocity = Vector2.ZERO
|
||||
var t_velocity = 0
|
||||
var can_fire = 0
|
||||
|
||||
@export var fireball_prefab : PackedScene
|
||||
|
||||
@@ -70,17 +72,31 @@ func _ready():
|
||||
pipedetector_ground.position.y = 0
|
||||
collision_shape_2d.shape.height = 15
|
||||
|
||||
var camera_target_pos_y = 0
|
||||
|
||||
func _process(delta):
|
||||
camera_2d.position.x = position.x + 50
|
||||
|
||||
if is_on_floor() or velocity.y > 0 and camera_target_pos_y < position.y:
|
||||
camera_target_pos_y = position.y if not is_big else position.y + 8
|
||||
|
||||
if camera_target_pos_y != camera_2d.position.y:
|
||||
camera_2d.position.y += (camera_target_pos_y - camera_2d.position.y) * 10 * delta
|
||||
|
||||
# set camera
|
||||
if position.y <= 32:
|
||||
camera_2d.limit_bottom = 32
|
||||
camera_2d.limit_top = -1000000
|
||||
if position.y < -640:
|
||||
camera_2d.limit_bottom = -640
|
||||
else:
|
||||
camera_2d.limit_bottom = 32
|
||||
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
|
||||
@@ -101,7 +117,8 @@ func _physics_process(delta):
|
||||
velocity.y = JUMPt_velocity
|
||||
|
||||
# check fireball
|
||||
if is_flower and (Input.is_action_just_pressed("flower") or fire):
|
||||
if is_flower and (Input.is_action_just_pressed("flower") or fire) and can_fire < 2:
|
||||
can_fire += 1
|
||||
fire = false
|
||||
var instance = fireball_prefab.instantiate()
|
||||
get_parent().add_child(instance)
|
||||
@@ -110,6 +127,7 @@ func _physics_process(delta):
|
||||
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
|
||||
@@ -159,6 +177,8 @@ func _physics_process(delta):
|
||||
func grow():
|
||||
if not is_big:
|
||||
is_big = true
|
||||
if is_on_floor():
|
||||
position.y -= 20
|
||||
collision_shape_2d.shape.height = 31
|
||||
pipedetector_ground.position.y += 8
|
||||
|
||||
@@ -170,6 +190,9 @@ func flower():
|
||||
is_flower = true
|
||||
|
||||
func shrink():
|
||||
if on_pause:
|
||||
return
|
||||
|
||||
if is_flower:
|
||||
is_flower = false
|
||||
shrink_sound.play()
|
||||
@@ -182,6 +205,7 @@ func shrink():
|
||||
player_die()
|
||||
|
||||
func player_die():
|
||||
visible = false
|
||||
die_player.play("die")
|
||||
on_pause = true
|
||||
music.stop()
|
||||
@@ -216,3 +240,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