Initial commit
|
|
@ -0,0 +1,4 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Normalize EOL for all files that Git considers text files.
|
||||||
|
* text=auto eol=lf
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Godot 4+ specific ignores
|
||||||
|
.godot/
|
||||||
|
/android/
|
||||||
|
/web/*
|
||||||
|
|
||||||
|
# Web export artifacts in root
|
||||||
|
*.html
|
||||||
|
*.js
|
||||||
|
*.wasm
|
||||||
|
*.pck
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="font_data_dynamic"
|
||||||
|
type="FontFile"
|
||||||
|
uid="uid://ctpbh2u36ff41"
|
||||||
|
path="res://.godot/imported/PixelOperator8-Bold.ttf-74faf550739674ad3170f08e646e0614.fontdata"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/fonts/PixelOperator8-Bold.ttf"
|
||||||
|
dest_files=["res://.godot/imported/PixelOperator8-Bold.ttf-74faf550739674ad3170f08e646e0614.fontdata"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
Rendering=null
|
||||||
|
antialiasing=1
|
||||||
|
generate_mipmaps=false
|
||||||
|
disable_embedded_bitmaps=true
|
||||||
|
multichannel_signed_distance_field=false
|
||||||
|
msdf_pixel_range=8
|
||||||
|
msdf_size=48
|
||||||
|
allow_system_fallback=true
|
||||||
|
force_autohinter=false
|
||||||
|
modulate_color_glyphs=false
|
||||||
|
hinting=1
|
||||||
|
subpixel_positioning=4
|
||||||
|
keep_rounding_remainders=true
|
||||||
|
oversampling=0.0
|
||||||
|
Fallbacks=null
|
||||||
|
fallbacks=[]
|
||||||
|
Compress=null
|
||||||
|
compress=true
|
||||||
|
preload=[]
|
||||||
|
language_support={}
|
||||||
|
script_support={}
|
||||||
|
opentype_features={}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="font_data_dynamic"
|
||||||
|
type="FontFile"
|
||||||
|
uid="uid://bskiya6hf2nuc"
|
||||||
|
path="res://.godot/imported/PixelOperator8.ttf-6f9f01766aff16f52046b880ffb8d367.fontdata"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/fonts/PixelOperator8.ttf"
|
||||||
|
dest_files=["res://.godot/imported/PixelOperator8.ttf-6f9f01766aff16f52046b880ffb8d367.fontdata"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
Rendering=null
|
||||||
|
antialiasing=1
|
||||||
|
generate_mipmaps=false
|
||||||
|
disable_embedded_bitmaps=true
|
||||||
|
multichannel_signed_distance_field=false
|
||||||
|
msdf_pixel_range=8
|
||||||
|
msdf_size=48
|
||||||
|
allow_system_fallback=true
|
||||||
|
force_autohinter=false
|
||||||
|
modulate_color_glyphs=false
|
||||||
|
hinting=1
|
||||||
|
subpixel_positioning=4
|
||||||
|
keep_rounding_remainders=true
|
||||||
|
oversampling=0.0
|
||||||
|
Fallbacks=null
|
||||||
|
fallbacks=[]
|
||||||
|
Compress=null
|
||||||
|
compress=true
|
||||||
|
preload=[]
|
||||||
|
language_support={}
|
||||||
|
script_support={}
|
||||||
|
opentype_features={}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://c73cwy4ooekmy"
|
||||||
|
path="res://.godot/imported/time_for_adventure.mp3-b8a49ae1cfc83b211be9d82e6e985655.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/music/time_for_adventure.mp3"
|
||||||
|
dest_files=["res://.godot/imported/time_for_adventure.mp3-b8a49ae1cfc83b211be9d82e6e985655.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=true
|
||||||
|
loop_offset=0.0
|
||||||
|
bpm=0.0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://gtthuaxi63gy"
|
||||||
|
path="res://.godot/imported/apple_powerup.wav-cf3bcece6d5f48e082227a95a7a0d7ff.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/apple_powerup.wav"
|
||||||
|
dest_files=["res://.godot/imported/apple_powerup.wav-cf3bcece6d5f48e082227a95a7a0d7ff.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dn80opsbq6oen"
|
||||||
|
path="res://.godot/imported/coin.wav-9081ee1c6d81d9c34d08bc916297b892.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/coin.wav"
|
||||||
|
dest_files=["res://.godot/imported/coin.wav-9081ee1c6d81d9c34d08bc916297b892.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://c23qalcvknjod"
|
||||||
|
path="res://.godot/imported/explosion.wav-52e05e8d4b6600106c8dde082c90f915.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/explosion.wav"
|
||||||
|
dest_files=["res://.godot/imported/explosion.wav-52e05e8d4b6600106c8dde082c90f915.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://coolcllh2qxvq"
|
||||||
|
path="res://.godot/imported/hurt.wav-792baeb99505afd6a1496d4e4330b023.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/hurt.wav"
|
||||||
|
dest_files=["res://.godot/imported/hurt.wav-792baeb99505afd6a1496d4e4330b023.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://b0w6ok7nj785a"
|
||||||
|
path="res://.godot/imported/jump.wav-395b727cde98999423d5c020c9c3492f.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/jump.wav"
|
||||||
|
dest_files=["res://.godot/imported/jump.wav-395b727cde98999423d5c020c9c3492f.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://clgwsna82md7v"
|
||||||
|
path="res://.godot/imported/power_up.wav-8349ffe570559470036ebff4b80f7fc0.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/power_up.wav"
|
||||||
|
dest_files=["res://.godot/imported/power_up.wav-8349ffe570559470036ebff4b80f7fc0.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dwdekuy7yyiwk"
|
||||||
|
path="res://.godot/imported/random.wav-fb0e57b0311b19b45445f92efb386a67.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/random.wav"
|
||||||
|
dest_files=["res://.godot/imported/random.wav-fb0e57b0311b19b45445f92efb386a67.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://by32fpioptn4q"
|
||||||
|
path="res://.godot/imported/reward.wav-dfe7757627e4a89354e3ce6c8bb812ba.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/reward.wav"
|
||||||
|
dest_files=["res://.godot/imported/reward.wav-dfe7757627e4a89354e3ce6c8bb812ba.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://bury105ank0yr"
|
||||||
|
path="res://.godot/imported/slime_death.wav-4469baa363bff7ba832b65818f85dabc.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/slime_death.wav"
|
||||||
|
dest_files=["res://.godot/imported/slime_death.wav-4469baa363bff7ba832b65818f85dabc.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://cccv3rsb2tl2o"
|
||||||
|
path="res://.godot/imported/tap.wav-78d4c5a48b21a853d89bec74f20510e7.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sounds/tap.wav"
|
||||||
|
dest_files=["res://.godot/imported/tap.wav-78d4c5a48b21a853d89bec74f20510e7.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
After Width: | Height: | Size: 500 B |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://d4fwq6yk3reuv"
|
||||||
|
path="res://.godot/imported/coin.png-c8309bf0f8fb5f3a7d1e96a4eb3f02ce.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/coin.png"
|
||||||
|
dest_files=["res://.godot/imported/coin.png-c8309bf0f8fb5f3a7d1e96a4eb3f02ce.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dbxb602buq7wu"
|
||||||
|
path="res://.godot/imported/fruit.png-3735163b668af10c2b35b52cba81b68a.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/fruit.png"
|
||||||
|
dest_files=["res://.godot/imported/fruit.png-3735163b668af10c2b35b52cba81b68a.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 1.8 KiB |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dabprs454c7ju"
|
||||||
|
path="res://.godot/imported/heart pixel art 254x254.png-bf5d7bd2013a0ba8739c22b702a6de57.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/heart pixel art 254x254.png"
|
||||||
|
dest_files=["res://.godot/imported/heart pixel art 254x254.png-bf5d7bd2013a0ba8739c22b702a6de57.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 492 B |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://djpog0c5jr3sf"
|
||||||
|
path="res://.godot/imported/heart.png-c56d6fd64b59465fefa3cddd61b854ed.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/heart.png"
|
||||||
|
dest_files=["res://.godot/imported/heart.png-c56d6fd64b59465fefa3cddd61b854ed.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 5.9 KiB |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bd4fgamr0s365"
|
||||||
|
path="res://.godot/imported/knight.png-7c67c83d34932624952797d9e971a644.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/knight.png"
|
||||||
|
dest_files=["res://.godot/imported/knight.png-7c67c83d34932624952797d9e971a644.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 1.7 KiB |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bmh530kr2bj5"
|
||||||
|
path="res://.godot/imported/pixel_art_flag.png-e3d54503fc90e178513c474c63e80b55.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/pixel_art_flag.png"
|
||||||
|
dest_files=["res://.godot/imported/pixel_art_flag.png-e3d54503fc90e178513c474c63e80b55.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://nuwsrb1cifv4"
|
||||||
|
path="res://.godot/imported/platforms.png-3869606db457611ed4193d705dc364e4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/platforms.png"
|
||||||
|
dest_files=["res://.godot/imported/platforms.png-3869606db457611ed4193d705dc364e4.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 908 B |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bmn317iwnsb6x"
|
||||||
|
path="res://.godot/imported/slime_green.png-f6349164bf3a0f5189bb927b97af9c58.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/slime_green.png"
|
||||||
|
dest_files=["res://.godot/imported/slime_green.png-f6349164bf3a0f5189bb927b97af9c58.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dn1t5jme0mu1u"
|
||||||
|
path="res://.godot/imported/slime_purple.png-26dc5ddef235ce6a400e78e0d532b050.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/slime_purple.png"
|
||||||
|
dest_files=["res://.godot/imported/slime_purple.png-26dc5ddef235ce6a400e78e0d532b050.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
After Width: | Height: | Size: 15 KiB |
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://qqsyx1e7v2fu"
|
||||||
|
path="res://.godot/imported/world_tileset.png-61a32465f33c3d9d3bfecb75b6485009.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sprites/world_tileset.png"
|
||||||
|
dest_files=["res://.godot/imported/world_tileset.png-61a32465f33c3d9d3bfecb75b6485009.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
[gd_resource type="AudioBusLayout" format=3 uid="uid://bbxij0qlpsswv"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
bus/1/name = &"Music"
|
||||||
|
bus/1/solo = false
|
||||||
|
bus/1/mute = false
|
||||||
|
bus/1/bypass_fx = false
|
||||||
|
bus/1/volume_db = -17.028168
|
||||||
|
bus/1/send = &"Master"
|
||||||
|
bus/2/name = &"SFX"
|
||||||
|
bus/2/solo = false
|
||||||
|
bus/2/mute = false
|
||||||
|
bus/2/bypass_fx = false
|
||||||
|
bus/2/volume_db = -17.021105
|
||||||
|
bus/2/send = &"Master"
|
||||||
|
|
@ -0,0 +1,121 @@
|
||||||
|
[preset.0]
|
||||||
|
|
||||||
|
name="Windows Desktop"
|
||||||
|
platform="Windows Desktop"
|
||||||
|
runnable=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="./platformer.exe"
|
||||||
|
patches=PackedStringArray()
|
||||||
|
patch_delta_encoding=false
|
||||||
|
patch_delta_compression_level_zstd=19
|
||||||
|
patch_delta_min_reduction=0.1
|
||||||
|
patch_delta_include_filters="*"
|
||||||
|
patch_delta_exclude_filters=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.0.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
debug/export_console_wrapper=1
|
||||||
|
binary_format/embed_pck=true
|
||||||
|
texture_format/s3tc_bptc=true
|
||||||
|
texture_format/etc2_astc=false
|
||||||
|
shader_baker/enabled=false
|
||||||
|
binary_format/architecture="x86_64"
|
||||||
|
codesign/enable=false
|
||||||
|
codesign/timestamp=true
|
||||||
|
codesign/timestamp_server_url=""
|
||||||
|
codesign/digest_algorithm=1
|
||||||
|
codesign/description=""
|
||||||
|
codesign/custom_options=PackedStringArray()
|
||||||
|
application/modify_resources=true
|
||||||
|
application/icon=""
|
||||||
|
application/console_wrapper_icon=""
|
||||||
|
application/icon_interpolation=4
|
||||||
|
application/file_version=""
|
||||||
|
application/product_version=""
|
||||||
|
application/company_name=""
|
||||||
|
application/product_name="jaros platformer"
|
||||||
|
application/file_description=""
|
||||||
|
application/copyright=""
|
||||||
|
application/trademarks=""
|
||||||
|
application/export_angle=0
|
||||||
|
application/export_d3d12=0
|
||||||
|
application/d3d12_agility_sdk_multiarch=true
|
||||||
|
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="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||||
|
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||||
|
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||||
|
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
|
||||||
|
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||||
|
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||||
|
Start-ScheduledTask -TaskName godot_remote_debug
|
||||||
|
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||||
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||||
|
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||||
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||||
|
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||||
|
|
||||||
|
[preset.1]
|
||||||
|
|
||||||
|
name="Web"
|
||||||
|
platform="Web"
|
||||||
|
runnable=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="web/index.html"
|
||||||
|
patches=PackedStringArray()
|
||||||
|
patch_delta_encoding=false
|
||||||
|
patch_delta_compression_level_zstd=19
|
||||||
|
patch_delta_min_reduction=0.1
|
||||||
|
patch_delta_include_filters="*"
|
||||||
|
patch_delta_exclude_filters=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.1.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
variant/extensions_support=false
|
||||||
|
variant/thread_support=false
|
||||||
|
vram_texture_compression/for_desktop=true
|
||||||
|
vram_texture_compression/for_mobile=false
|
||||||
|
html/export_icon=true
|
||||||
|
html/custom_html_shell=""
|
||||||
|
html/head_include=""
|
||||||
|
html/canvas_resize_policy=2
|
||||||
|
html/focus_canvas_on_start=true
|
||||||
|
html/experimental_virtual_keyboard=false
|
||||||
|
progressive_web_app/enabled=false
|
||||||
|
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||||
|
progressive_web_app/offline_page=""
|
||||||
|
progressive_web_app/display=1
|
||||||
|
progressive_web_app/orientation=0
|
||||||
|
progressive_web_app/icon_144x144=""
|
||||||
|
progressive_web_app/icon_180x180=""
|
||||||
|
progressive_web_app/icon_512x512=""
|
||||||
|
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||||
|
threads/emscripten_pool_size=8
|
||||||
|
threads/godot_pool_size=4
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
; Engine configuration file.
|
||||||
|
; It's best edited using the editor UI and not directly,
|
||||||
|
; since the parameters that go here are not all obvious.
|
||||||
|
;
|
||||||
|
; Format:
|
||||||
|
; [section] ; section goes between []
|
||||||
|
; param=value ; assign values to parameters
|
||||||
|
|
||||||
|
config_version=5
|
||||||
|
|
||||||
|
[application]
|
||||||
|
|
||||||
|
config/name="platformer"
|
||||||
|
run/main_scene="uid://qrhju8j4q7de"
|
||||||
|
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||||
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
[audio]
|
||||||
|
|
||||||
|
buses/default_bus_layout="uid://bbxij0qlpsswv"
|
||||||
|
|
||||||
|
[autoload]
|
||||||
|
|
||||||
|
Music="*uid://bgm4w3aauu7e7"
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
jump={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"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,"location":0,"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":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
move_left={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"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,"location":0,"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,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
move_right={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"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,"location":0,"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,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
[physics]
|
||||||
|
|
||||||
|
3d/physics_engine="Jolt Physics"
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
textures/canvas_textures/default_texture_filter=0
|
||||||
|
rendering_device/driver.windows="d3d12"
|
||||||
|
renderer/rendering_method="gl_compatibility"
|
||||||
|
renderer/rendering_method.mobile="gl_compatibility"
|
||||||
|
|
@ -0,0 +1,128 @@
|
||||||
|
[gd_scene format=3 uid="uid://mhhmhiv68pl4"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://ccc81ck60gyxg" path="res://scripts/apple.gd" id="1_7vr8k"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dbxb602buq7wu" path="res://assets/sprites/fruit.png" id="1_h071m"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://gtthuaxi63gy" path="res://assets/sounds/apple_powerup.wav" id="3_3dmh2"]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_7vr8k"]
|
||||||
|
radius = 7.0
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_pg1xk"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D: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("PickupZone:disabled")
|
||||||
|
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("PickupSound:playing")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_a7wfc"]
|
||||||
|
resource_name = "pickup"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D: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("PickupZone:disabled")
|
||||||
|
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("PickupSound:playing")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
tracks/3/type = "method"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath(".")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(1),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"values": [{
|
||||||
|
"args": [],
|
||||||
|
"method": &"queue_free"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_kxxqw"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_pg1xk"),
|
||||||
|
&"pickup": SubResource("Animation_a7wfc")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Apple" type="Area2D" unique_id=898321301]
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_7vr8k")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1249274264]
|
||||||
|
texture = ExtResource("1_h071m")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(2, 50, 11, 13)
|
||||||
|
|
||||||
|
[node name="PickupZone" type="CollisionShape2D" parent="." unique_id=1492815631]
|
||||||
|
shape = SubResource("CircleShape2D_7vr8k")
|
||||||
|
|
||||||
|
[node name="PickupSound" type="AudioStreamPlayer2D" parent="." unique_id=1451366560]
|
||||||
|
position = Vector2(1, 0)
|
||||||
|
stream = ExtResource("3_3dmh2")
|
||||||
|
bus = &"SFX"
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=2077470024]
|
||||||
|
libraries/ = SubResource("AnimationLibrary_kxxqw")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||||
|
|
@ -0,0 +1,222 @@
|
||||||
|
[gd_scene format=3 uid="uid://br2i1akcrs6oy"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://bl6qtyu60o6ug" path="res://scripts/coin.gd" id="1_i64fm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d4fwq6yk3reuv" path="res://assets/sprites/coin.png" id="1_rwqht"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://dn80opsbq6oen" path="res://assets/sounds/coin.wav" id="3_11l1o"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_i64fm"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(0, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_11l1o"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(16, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_d14el"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(32, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_1ikuy"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(48, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_wnlwo"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(64, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jig8b"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(80, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_xmuha"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(96, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_kfxoj"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(112, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jsmju"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(128, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_s0mny"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(144, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_7cc30"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(160, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_rojmm"]
|
||||||
|
atlas = ExtResource("1_rwqht")
|
||||||
|
region = Rect2(176, 0, 16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_ls27i"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_i64fm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_11l1o")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_d14el")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_1ikuy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_wnlwo")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jig8b")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_xmuha")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_kfxoj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jsmju")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_s0mny")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_7cc30")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_rojmm")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 10.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_ssuvv"]
|
||||||
|
radius = 5.0
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_d14el"]
|
||||||
|
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("CollisionShape2D:disabled")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("PickUpSound:playing")
|
||||||
|
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_1ikuy"]
|
||||||
|
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),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("CollisionShape2D:disabled")
|
||||||
|
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("PickUpSound:playing")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
tracks/3/type = "method"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath(".")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(1),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"values": [{
|
||||||
|
"args": [],
|
||||||
|
"method": &"queue_free"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_11l1o"]
|
||||||
|
resource_name = "popup"
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_wnlwo"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_d14el"),
|
||||||
|
&"pickup": SubResource("Animation_1ikuy"),
|
||||||
|
&"popup": SubResource("Animation_11l1o")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Coin" type="Area2D" unique_id=2141300314]
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_i64fm")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=572855694]
|
||||||
|
sprite_frames = SubResource("SpriteFrames_ls27i")
|
||||||
|
autoplay = "default"
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1697627578]
|
||||||
|
shape = SubResource("CircleShape2D_ssuvv")
|
||||||
|
|
||||||
|
[node name="PickUpSound" type="AudioStreamPlayer2D" parent="." unique_id=551046864]
|
||||||
|
stream = ExtResource("3_11l1o")
|
||||||
|
bus = &"SFX"
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=990067559]
|
||||||
|
libraries/ = SubResource("AnimationLibrary_wnlwo")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
[gd_scene format=3 uid="uid://cbjojcjcqiar8"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://coasi1e17k3wq" path="res://scripts/end_screen.gd" id="1_endscreen"]
|
||||||
|
|
||||||
|
[node name="EndScreen" type="CanvasLayer" unique_id=1535256465]
|
||||||
|
script = ExtResource("1_endscreen")
|
||||||
|
|
||||||
|
[node name="TimeTaken" type="Label" parent="." unique_id=819347105]
|
||||||
|
offset_left = 457.0
|
||||||
|
offset_top = 268.0
|
||||||
|
offset_right = 621.0
|
||||||
|
offset_bottom = 291.0
|
||||||
|
text = "Your attempt took 0s"
|
||||||
|
|
||||||
|
[node name="CoinsCollected" type="Label" parent="." unique_id=124204138]
|
||||||
|
offset_left = 444.0
|
||||||
|
offset_top = 312.0
|
||||||
|
offset_right = 629.0
|
||||||
|
offset_bottom = 335.0
|
||||||
|
text = "you collected 0/10 coins"
|
||||||
|
|
||||||
|
[node name="Restart" type="Button" parent="." unique_id=635161693]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = 483.0
|
||||||
|
offset_top = 360.0
|
||||||
|
offset_right = -560.0
|
||||||
|
offset_bottom = -248.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
text = "Start Over"
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
[gd_scene format=3 uid="uid://dvopkdk03dyx6"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/end_zone.gd" id="1_endzone"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ji0tw"]
|
||||||
|
size = Vector2(20, 252)
|
||||||
|
|
||||||
|
[node name="EndZone" type="Area2D" unique_id=1254881841]
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_endzone")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=387434415]
|
||||||
|
shape = SubResource("RectangleShape2D_ji0tw")
|
||||||
|
|
@ -0,0 +1,113 @@
|
||||||
|
[gd_scene format=3 uid="uid://b33i2gehodipd"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://byoow85ssm52p" path="res://scripts/grapes.gd" id="1_e47g1"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dbxb602buq7wu" path="res://assets/sprites/fruit.png" id="1_elxb2"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://gtthuaxi63gy" path="res://assets/sounds/apple_powerup.wav" id="3_e47g1"]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_nkn8g"]
|
||||||
|
radius = 6.0
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_jsuis"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D: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("PickupZone:disabled")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("PickupSound:playing")
|
||||||
|
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_uw7nk"]
|
||||||
|
resource_name = "pickup"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D: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("PickupZone:disabled")
|
||||||
|
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("PickupSound:playing")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2iald"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_jsuis"),
|
||||||
|
&"pickup": SubResource("Animation_uw7nk")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Grapes" type="Area2D" unique_id=154914778]
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_e47g1")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1323039150]
|
||||||
|
texture = ExtResource("1_elxb2")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(34, 17, 11, 15)
|
||||||
|
|
||||||
|
[node name="PickupZone" type="CollisionShape2D" parent="." unique_id=1431084362]
|
||||||
|
shape = SubResource("CircleShape2D_nkn8g")
|
||||||
|
|
||||||
|
[node name="PickupSound" type="AudioStreamPlayer2D" parent="." unique_id=53132812]
|
||||||
|
stream = ExtResource("3_e47g1")
|
||||||
|
bus = &"SFX"
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1176105268]
|
||||||
|
libraries/ = SubResource("AnimationLibrary_2iald")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
[gd_scene format=3 uid="uid://cw6fst5irc6ve"]
|
||||||
|
|
||||||
|
[node name="Killzone_enemy" type="Area2D" unique_id=1883201057]
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="." unique_id=1352495893]
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
[gd_scene format=3 uid="uid://c88udyeyn4dcf"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://bxagvcko4i2l0" path="res://scripts/killzone_player.gd" id="1_xlapc"]
|
||||||
|
|
||||||
|
[node name="Killzone_player" type="Area2D" unique_id=991054400]
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_xlapc")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
[gd_scene format=3 uid="uid://dotxkxflj0c4h"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://qqsyx1e7v2fu" path="res://assets/sprites/world_tileset.png" id="1_1oxb2"]
|
||||||
|
[ext_resource type="Script" uid="uid://cbecw2ujni8nq" path="res://scripts/lucky_block.gd" id="1_ews3o"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://by32fpioptn4q" path="res://assets/sounds/reward.wav" id="3_v2mvj"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7jsp6"]
|
||||||
|
size = Vector2(16, 15)
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_jrfi8"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("RewardSound: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_by7b2"]
|
||||||
|
resource_name = "reward"
|
||||||
|
length = 0.36666667
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("RewardSound:playing")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_rogr3"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_jrfi8"),
|
||||||
|
&"reward": SubResource("Animation_by7b2")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8ng8b"]
|
||||||
|
size = Vector2(12, 1)
|
||||||
|
|
||||||
|
[node name="LuckyBlock" type="AnimatableBody2D" unique_id=1422677490]
|
||||||
|
z_index = 5
|
||||||
|
script = ExtResource("1_ews3o")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=2130533913]
|
||||||
|
texture = ExtResource("1_1oxb2")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(0, 32, 16, 16)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=2069315062]
|
||||||
|
position = Vector2(0, -0.5)
|
||||||
|
shape = SubResource("RectangleShape2D_7jsp6")
|
||||||
|
|
||||||
|
[node name="RewardSound" type="AudioStreamPlayer2D" parent="." unique_id=1600797100]
|
||||||
|
stream = ExtResource("3_v2mvj")
|
||||||
|
bus = &"SFX"
|
||||||
|
|
||||||
|
[node name="SoundPlayer" type="AnimationPlayer" parent="." unique_id=2126464224]
|
||||||
|
libraries/ = SubResource("AnimationLibrary_rogr3")
|
||||||
|
|
||||||
|
[node name="RewardZone" type="Area2D" parent="." unique_id=1912884678]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="RewardCollision" type="CollisionShape2D" parent="RewardZone" unique_id=1383100768]
|
||||||
|
position = Vector2(0, 8)
|
||||||
|
shape = SubResource("RectangleShape2D_8ng8b")
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
[gd_scene format=3 uid="uid://bgm4w3aauu7e7"]
|
||||||
|
|
||||||
|
[ext_resource type="AudioStream" uid="uid://c73cwy4ooekmy" path="res://assets/music/time_for_adventure.mp3" id="1_05ggv"]
|
||||||
|
|
||||||
|
[node name="Music" type="AudioStreamPlayer" unique_id=115961153]
|
||||||
|
stream = ExtResource("1_05ggv")
|
||||||
|
autoplay = true
|
||||||
|
bus = &"Music"
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
[gd_scene format=3 uid="uid://27b27wmftbt8"]
|
||||||
|
|
||||||
|
[ext_resource type="FontFile" uid="uid://ctpbh2u36ff41" path="res://assets/fonts/PixelOperator8-Bold.ttf" id="1_d607a"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://djpog0c5jr3sf" path="res://assets/sprites/heart.png" id="2_r2eog"]
|
||||||
|
|
||||||
|
[node name="Overlay" type="CanvasLayer" unique_id=963473093]
|
||||||
|
|
||||||
|
[node name="ScoreLabel" type="Label" parent="." unique_id=765023322]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = 897.0
|
||||||
|
offset_top = 22.0
|
||||||
|
offset_right = -23.0
|
||||||
|
offset_bottom = -594.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_fonts/font = ExtResource("1_d607a")
|
||||||
|
theme_override_font_sizes/font_size = 32
|
||||||
|
text = "Score: 0"
|
||||||
|
|
||||||
|
[node name="Heart1" type="TextureRect" parent="." unique_id=2137467956]
|
||||||
|
offset_left = 24.0
|
||||||
|
offset_top = 21.0
|
||||||
|
offset_right = 64.0
|
||||||
|
offset_bottom = 61.0
|
||||||
|
texture = ExtResource("2_r2eog")
|
||||||
|
|
||||||
|
[node name="Heart2" type="TextureRect" parent="." unique_id=2137467957]
|
||||||
|
visible = false
|
||||||
|
offset_left = 72.0
|
||||||
|
offset_top = 21.0
|
||||||
|
offset_right = 112.0
|
||||||
|
offset_bottom = 61.0
|
||||||
|
texture = ExtResource("2_r2eog")
|
||||||
|
|
||||||
|
[node name="Heart3" type="TextureRect" parent="." unique_id=2137467958]
|
||||||
|
visible = false
|
||||||
|
offset_left = 120.0
|
||||||
|
offset_top = 21.0
|
||||||
|
offset_right = 160.0
|
||||||
|
offset_bottom = 61.0
|
||||||
|
texture = ExtResource("2_r2eog")
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
[gd_scene format=3 uid="uid://51uhxqncpo71"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://ci50630gt06ch" path="res://scripts/pear.gd" id="1_2bcob"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dbxb602buq7wu" path="res://assets/sprites/fruit.png" id="1_eeymf"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://gtthuaxi63gy" path="res://assets/sounds/apple_powerup.wav" id="3_2bcob"]
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_pqbvb"]
|
||||||
|
radius = 4.0
|
||||||
|
height = 16.0
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_ql0tf"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("PickupSound:playing")
|
||||||
|
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("Sprite2D:visible")
|
||||||
|
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("PickupZone:disabled")
|
||||||
|
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_t2kfl"]
|
||||||
|
resource_name = "pickup"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("PickupSound: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("Sprite2D:visible")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0.06666667),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("PickupZone:disabled")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hujyb"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_ql0tf"),
|
||||||
|
&"pickup": SubResource("Animation_t2kfl")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Pear" type="Area2D" unique_id=1175144071]
|
||||||
|
collision_mask = 2
|
||||||
|
script = ExtResource("1_2bcob")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=193181080]
|
||||||
|
texture = ExtResource("1_eeymf")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(20, 32, 9, 16)
|
||||||
|
|
||||||
|
[node name="PickupZone" type="CollisionShape2D" parent="." unique_id=233027016]
|
||||||
|
shape = SubResource("CapsuleShape2D_pqbvb")
|
||||||
|
|
||||||
|
[node name="PickupSound" type="AudioStreamPlayer2D" parent="." unique_id=166116439]
|
||||||
|
stream = ExtResource("3_2bcob")
|
||||||
|
bus = &"SFX"
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1054773840]
|
||||||
|
libraries/ = SubResource("AnimationLibrary_hujyb")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
[gd_scene format=3 uid="uid://b41gwy6bpg7qv"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://nuwsrb1cifv4" path="res://assets/sprites/platforms.png" id="1_ba0x2"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nlgqw"]
|
||||||
|
size = Vector2(31, 8)
|
||||||
|
|
||||||
|
[node name="Platform" type="AnimatableBody2D" unique_id=962203689]
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1406721546]
|
||||||
|
texture = ExtResource("1_ba0x2")
|
||||||
|
region_enabled = true
|
||||||
|
region_rect = Rect2(17, 1, 31, 8)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1805733968]
|
||||||
|
shape = SubResource("RectangleShape2D_nlgqw")
|
||||||
|
one_way_collision = true
|
||||||
|
|
@ -0,0 +1,322 @@
|
||||||
|
[gd_scene format=3 uid="uid://cdg82mh4ljjty"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bd4fgamr0s365" path="res://assets/sprites/knight.png" id="1_3vyb7"]
|
||||||
|
[ext_resource type="Script" uid="uid://q646ipq51kns" path="res://scripts/player.gd" id="1_g2els"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://b0w6ok7nj785a" path="res://assets/sounds/jump.wav" id="3_qhqgy"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://coolcllh2qxvq" path="res://assets/sounds/hurt.wav" id="4_dqkch"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_31cv2"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(64, 192, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_tuyoq"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(0, 192, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_l71n6"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(64, 192, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ke2ow"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(64, 224, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ujl30"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(96, 224, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_g2els"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(0, 0, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qhqgy"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(32, 0, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_dqkch"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(64, 0, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qlg0r"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(96, 0, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_4ni07"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(128, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fjrip"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(0, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_smehm"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(32, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ur7pv"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(64, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_y4r1p"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(96, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_d2wvv"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(128, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_3v2ag"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(160, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jej6c"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(192, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_f1ej7"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(224, 64, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_oprun"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(0, 96, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_a8ls1"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(32, 96, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qfm1y"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(64, 96, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fulsm"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(96, 96, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_4r5pv"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(128, 96, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_60mlk"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(160, 96, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_i4ail"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(192, 96, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_a38lo"]
|
||||||
|
atlas = ExtResource("1_3vyb7")
|
||||||
|
region = Rect2(224, 96, 32, 32)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_tuyoq"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_31cv2")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"damage",
|
||||||
|
"speed": 10.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_tuyoq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_l71n6")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ke2ow")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ujl30")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"death",
|
||||||
|
"speed": 4.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_g2els")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_qhqgy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_dqkch")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_qlg0r")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"idle",
|
||||||
|
"speed": 10.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_4ni07")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"jump",
|
||||||
|
"speed": 10.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fjrip")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_smehm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ur7pv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_y4r1p")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_d2wvv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_3v2ag")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jej6c")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_f1ej7")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_oprun")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_a8ls1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_qfm1y")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fulsm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_4r5pv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_60mlk")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_i4ail")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_a38lo")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"run",
|
||||||
|
"speed": 10.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_fjrip"]
|
||||||
|
radius = 5.0
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_dqkch"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sounds/JumpSound:playing")
|
||||||
|
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("Sounds/DeathSound: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_tuyoq"]
|
||||||
|
resource_name = "death"
|
||||||
|
length = 0.16666667
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sounds/DeathSound:playing")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_qlg0r"]
|
||||||
|
resource_name = "jump"
|
||||||
|
length = 0.1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sounds/JumpSound:playing")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_tuyoq"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_dqkch"),
|
||||||
|
&"death": SubResource("Animation_tuyoq"),
|
||||||
|
&"jump": SubResource("Animation_qlg0r")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Player" type="CharacterBody2D" unique_id=195434465]
|
||||||
|
z_index = 5
|
||||||
|
collision_layer = 2
|
||||||
|
script = ExtResource("1_g2els")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=595098333]
|
||||||
|
position = Vector2(0, -12)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_tuyoq")
|
||||||
|
animation = &"death"
|
||||||
|
autoplay = "idle"
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1612869252]
|
||||||
|
position = Vector2(0, -5)
|
||||||
|
shape = SubResource("CircleShape2D_fjrip")
|
||||||
|
|
||||||
|
[node name="RayCastRight" type="RayCast2D" parent="." unique_id=1546816083]
|
||||||
|
position = Vector2(0, -5)
|
||||||
|
target_position = Vector2(7, 0)
|
||||||
|
|
||||||
|
[node name="RayCastLeft" type="RayCast2D" parent="." unique_id=1026866969]
|
||||||
|
position = Vector2(0, -5)
|
||||||
|
target_position = Vector2(-7, 0)
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1622064189]
|
||||||
|
libraries/ = SubResource("AnimationLibrary_tuyoq")
|
||||||
|
playback_auto_capture = false
|
||||||
|
|
||||||
|
[node name="Sounds" type="Node" parent="." unique_id=1753040532]
|
||||||
|
|
||||||
|
[node name="DeathSound" type="AudioStreamPlayer" parent="Sounds" unique_id=1043463499]
|
||||||
|
stream = ExtResource("4_dqkch")
|
||||||
|
bus = &"SFX"
|
||||||
|
|
||||||
|
[node name="JumpSound" type="AudioStreamPlayer" parent="Sounds" unique_id=300532321]
|
||||||
|
stream = ExtResource("3_qhqgy")
|
||||||
|
bus = &"SFX"
|
||||||
|
|
@ -0,0 +1,230 @@
|
||||||
|
[gd_scene format=3 uid="uid://bcwi265pjhitd"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://b70jd71jqvkx6" path="res://scripts/slime.gd" id="1_n6pvg"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bmn317iwnsb6x" path="res://assets/sprites/slime_green.png" id="1_p2gj0"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://c88udyeyn4dcf" path="res://scenes/killzone_player.tscn" id="2_n6pvg"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cw6fst5irc6ve" path="res://scenes/killzone_enemy.tscn" id="4_pjw23"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://dwdekuy7yyiwk" path="res://assets/sounds/random.wav" id="5_2npkn"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_n6pvg"]
|
||||||
|
atlas = ExtResource("1_p2gj0")
|
||||||
|
region = Rect2(48, 48, 24, 24)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_v5wyi"]
|
||||||
|
atlas = ExtResource("1_p2gj0")
|
||||||
|
region = Rect2(48, 0, 24, 24)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_0l8pv"]
|
||||||
|
atlas = ExtResource("1_p2gj0")
|
||||||
|
region = Rect2(24, 0, 24, 24)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vnioy"]
|
||||||
|
atlas = ExtResource("1_p2gj0")
|
||||||
|
region = Rect2(0, 0, 24, 24)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_pjw23"]
|
||||||
|
atlas = ExtResource("1_p2gj0")
|
||||||
|
region = Rect2(0, 24, 24, 24)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_2npkn"]
|
||||||
|
atlas = ExtResource("1_p2gj0")
|
||||||
|
region = Rect2(24, 24, 24, 24)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fd6lc"]
|
||||||
|
atlas = ExtResource("1_p2gj0")
|
||||||
|
region = Rect2(48, 24, 24, 24)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_gstla"]
|
||||||
|
atlas = ExtResource("1_p2gj0")
|
||||||
|
region = Rect2(72, 24, 24, 24)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_v5wyi"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_n6pvg")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_v5wyi")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_0l8pv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_vnioy")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"death",
|
||||||
|
"speed": 10.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_pjw23")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_2npkn")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fd6lc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_gstla")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_0l8pv"]
|
||||||
|
size = Vector2(12, 10)
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_2xjuo"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("KillzonePlayer/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:animation")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"death"]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("DeathSound:playing")
|
||||||
|
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_a02ik"]
|
||||||
|
resource_name = "death"
|
||||||
|
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(0.53333336),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"values": [{
|
||||||
|
"args": [],
|
||||||
|
"method": &"queue_free"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("KillzonePlayer/CollisionShape2D:disabled")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(-0.06666668, -0.03333336),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true, false]
|
||||||
|
}
|
||||||
|
tracks/2/type = "method"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("KillzonePlayer")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(),
|
||||||
|
"transitions": PackedFloat32Array(),
|
||||||
|
"values": []
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("AnimatedSprite2D:animation")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"death"]
|
||||||
|
}
|
||||||
|
tracks/4/type = "value"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("DeathSound:playing")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_pu8ps"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_2xjuo"),
|
||||||
|
&"death": SubResource("Animation_a02ik")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2npkn"]
|
||||||
|
size = Vector2(9, 4)
|
||||||
|
|
||||||
|
[node name="Slime" type="Node2D" unique_id=229458597]
|
||||||
|
script = ExtResource("1_n6pvg")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=364297644]
|
||||||
|
position = Vector2(0, -12)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_v5wyi")
|
||||||
|
animation = &"death"
|
||||||
|
autoplay = "default"
|
||||||
|
|
||||||
|
[node name="KillzonePlayer" parent="." unique_id=991054400 instance=ExtResource("2_n6pvg")]
|
||||||
|
position = Vector2(0, -12)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="KillzonePlayer" unique_id=1522102352]
|
||||||
|
position = Vector2(0, 6)
|
||||||
|
shape = SubResource("RectangleShape2D_0l8pv")
|
||||||
|
|
||||||
|
[node name="RayCastRight" type="RayCast2D" parent="." unique_id=2123653773]
|
||||||
|
position = Vector2(0, -7)
|
||||||
|
target_position = Vector2(8, 0)
|
||||||
|
|
||||||
|
[node name="RayCastLeft" type="RayCast2D" parent="." unique_id=108366997]
|
||||||
|
position = Vector2(0, -7)
|
||||||
|
target_position = Vector2(-8, 0)
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1764060817]
|
||||||
|
libraries/ = SubResource("AnimationLibrary_pu8ps")
|
||||||
|
|
||||||
|
[node name="Killzone_enemy" parent="." unique_id=1883201057 instance=ExtResource("4_pjw23")]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Killzone_enemy" unique_id=1604337896]
|
||||||
|
position = Vector2(-0.5, -13)
|
||||||
|
shape = SubResource("RectangleShape2D_2npkn")
|
||||||
|
one_way_collision = true
|
||||||
|
one_way_collision_margin = 0.0
|
||||||
|
|
||||||
|
[node name="DeathSound" type="AudioStreamPlayer2D" parent="." unique_id=644121770]
|
||||||
|
stream = ExtResource("5_2npkn")
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
extends Area2D
|
||||||
|
|
||||||
|
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||||
|
|
||||||
|
var game_manager: Node
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
if not game_manager:
|
||||||
|
game_manager = get_tree().get_first_node_in_group("game_manager")
|
||||||
|
|
||||||
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
|
if body.is_in_group("player"):
|
||||||
|
if game_manager:
|
||||||
|
game_manager.add_health()
|
||||||
|
animation_player.play("pickup")
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://ccc81ck60gyxg
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
extends Area2D
|
||||||
|
|
||||||
|
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||||
|
|
||||||
|
var game_manager: Node
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
add_to_group("coin")
|
||||||
|
if not game_manager:
|
||||||
|
game_manager = get_tree().get_first_node_in_group("game_manager")
|
||||||
|
|
||||||
|
func popup() -> void:
|
||||||
|
animation_player.play("popup")
|
||||||
|
|
||||||
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
|
if game_manager:
|
||||||
|
game_manager.add_point()
|
||||||
|
animation_player.play("pickup")
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://bl6qtyu60o6ug
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
extends CanvasLayer
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
process_mode = Node.PROCESS_MODE_ALWAYS
|
||||||
|
$Restart.pressed.connect(_on_restart_pressed)
|
||||||
|
|
||||||
|
func setup(time: float, coins: int, total: int) -> void:
|
||||||
|
$TimeTaken.text = "Your attempt took %.1fs" % time
|
||||||
|
$CoinsCollected.text = "You collected %d/%d coins" % [coins, total]
|
||||||
|
|
||||||
|
func _on_restart_pressed() -> void:
|
||||||
|
GameManager.health = 1
|
||||||
|
GameManager.score = 0
|
||||||
|
get_tree().paused = false
|
||||||
|
queue_free()
|
||||||
|
get_tree().reload_current_scene()
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://coasi1e17k3wq
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
extends Area2D
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
body_entered.connect(_on_body_entered)
|
||||||
|
|
||||||
|
func _on_body_entered(body: Node) -> void:
|
||||||
|
if body.is_in_group("player"):
|
||||||
|
get_tree().get_first_node_in_group("game_manager").show_end_screen()
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://ct23irq4h4kje
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
extends Node
|
||||||
|
class_name GameManager
|
||||||
|
|
||||||
|
@onready var overlay: CanvasLayer = %Overlay
|
||||||
|
|
||||||
|
static var health = 1
|
||||||
|
static var score = 0
|
||||||
|
var start_time: int = 0
|
||||||
|
var total_coins: int = 0
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
get_tree().paused = false
|
||||||
|
add_to_group("game_manager")
|
||||||
|
start_time = Time.get_ticks_msec()
|
||||||
|
_update_hearts()
|
||||||
|
overlay.get_node("ScoreLabel").text = "Score: " + str(score)
|
||||||
|
call_deferred("_count_coins")
|
||||||
|
|
||||||
|
func _update_hearts() -> void:
|
||||||
|
overlay.get_node("Heart1").visible = health >= 1
|
||||||
|
overlay.get_node("Heart2").visible = health >= 2
|
||||||
|
overlay.get_node("Heart3").visible = health >= 3
|
||||||
|
|
||||||
|
func _count_coins() -> void:
|
||||||
|
total_coins = get_tree().get_nodes_in_group("coin").size() + 2
|
||||||
|
|
||||||
|
func add_point():
|
||||||
|
score += 1
|
||||||
|
overlay.get_node("ScoreLabel").text = "Score: " + str(score)
|
||||||
|
|
||||||
|
func add_health():
|
||||||
|
if health < 3:
|
||||||
|
health += 1
|
||||||
|
_update_hearts()
|
||||||
|
|
||||||
|
func take_damage(force_reload: bool = false):
|
||||||
|
health -= 1
|
||||||
|
if health <= 0:
|
||||||
|
health = 1
|
||||||
|
score = 0
|
||||||
|
var player = get_tree().get_first_node_in_group("player")
|
||||||
|
if player:
|
||||||
|
player.die()
|
||||||
|
await get_tree().create_timer(1.0).timeout
|
||||||
|
get_tree().reload_current_scene()
|
||||||
|
elif force_reload:
|
||||||
|
score = 0
|
||||||
|
_update_hearts()
|
||||||
|
var player = get_tree().get_first_node_in_group("player")
|
||||||
|
if player:
|
||||||
|
player.die()
|
||||||
|
await get_tree().create_timer(1.0).timeout
|
||||||
|
get_tree().reload_current_scene()
|
||||||
|
else:
|
||||||
|
_update_hearts()
|
||||||
|
get_tree().get_first_node_in_group("player").take_hit()
|
||||||
|
|
||||||
|
func show_end_screen() -> void:
|
||||||
|
var elapsed = (Time.get_ticks_msec() - start_time) / 1000.0
|
||||||
|
var end_screen = load("res://scenes/end_screen.tscn").instantiate()
|
||||||
|
get_tree().root.add_child(end_screen)
|
||||||
|
end_screen.setup(elapsed, score, total_coins)
|
||||||
|
get_tree().paused = true
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://cf2xjcjast04e
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
extends Area2D
|
||||||
|
|
||||||
|
@export var duration: float = 5.0
|
||||||
|
@export var jump_multiplier: float = 1.5
|
||||||
|
|
||||||
|
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||||
|
|
||||||
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
|
if body.is_in_group("player"):
|
||||||
|
animation_player.play("pickup")
|
||||||
|
_apply_boost(body)
|
||||||
|
|
||||||
|
func _apply_boost(player: Node) -> void:
|
||||||
|
var base_jump = player.jump_velocity
|
||||||
|
player.jump_velocity = base_jump * jump_multiplier
|
||||||
|
await get_tree().create_timer(duration).timeout
|
||||||
|
if is_instance_valid(player):
|
||||||
|
player.jump_velocity = base_jump
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://byoow85ssm52p
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
extends Area2D
|
||||||
|
|
||||||
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
|
|
||||||
|
if not body.is_in_group("player"):
|
||||||
|
return
|
||||||
|
|
||||||
|
var parent = get_parent()
|
||||||
|
if parent.get("is_dying") != null:
|
||||||
|
if parent.get("is_dying"):
|
||||||
|
return
|
||||||
|
|
||||||
|
body.set_physics_process(false)
|
||||||
|
body.set_process(false)
|
||||||
|
body.get_node("CollisionShape2D").set_deferred("disabled", true)
|
||||||
|
|
||||||
|
var force_reload = parent.get("is_dying") == null
|
||||||
|
get_tree().get_first_node_in_group("game_manager").take_damage(force_reload)
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://bxagvcko4i2l0
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
extends AnimatableBody2D
|
||||||
|
|
||||||
|
enum Reward { COIN, APPLE, PEAR, GRAPES }
|
||||||
|
@export var reward: Reward = Reward.COIN
|
||||||
|
|
||||||
|
const REWARD_SCENES = {
|
||||||
|
Reward.COIN: "res://scenes/coin.tscn",
|
||||||
|
Reward.APPLE: "res://scenes/apple.tscn",
|
||||||
|
Reward.PEAR: "res://scenes/pear.tscn",
|
||||||
|
Reward.GRAPES: "res://scenes/grapes.tscn",
|
||||||
|
}
|
||||||
|
|
||||||
|
@onready var sound_player: AnimationPlayer = $SoundPlayer
|
||||||
|
@onready var reward_collision: CollisionShape2D = $RewardZone/RewardCollision
|
||||||
|
@onready var reward_zone: Area2D = $RewardZone
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
reward_zone.body_entered.connect(_on_rewardzone_body_entered)
|
||||||
|
|
||||||
|
func _on_rewardzone_body_entered(body: Node) -> void:
|
||||||
|
if body.is_in_group("player"):
|
||||||
|
sound_player.play("reward")
|
||||||
|
reward_collision.set_deferred("disabled", true)
|
||||||
|
call_deferred("_spawn_reward")
|
||||||
|
|
||||||
|
func _spawn_reward() -> void:
|
||||||
|
var reward_scene = load(REWARD_SCENES[reward])
|
||||||
|
var reward_node = reward_scene.instantiate()
|
||||||
|
get_parent().add_child(reward_node)
|
||||||
|
reward_node.global_position = global_position + Vector2(0, -16)
|
||||||
|
if "game_manager" in reward_node:
|
||||||
|
reward_node.game_manager = get_tree().get_first_node_in_group("game_manager")
|
||||||
|
if reward_node.has_method("popup"):
|
||||||
|
reward_node.popup()
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://cbecw2ujni8nq
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
extends Area2D
|
||||||
|
|
||||||
|
@export var duration: float = 5.0
|
||||||
|
@export var speed_multiplier: float = 1.8
|
||||||
|
|
||||||
|
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||||
|
|
||||||
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
|
if body.is_in_group("player"):
|
||||||
|
animation_player.play("pickup")
|
||||||
|
_apply_boost(body)
|
||||||
|
|
||||||
|
func _apply_boost(player: Node) -> void:
|
||||||
|
var base_speed = player.speed
|
||||||
|
player.speed = base_speed * speed_multiplier
|
||||||
|
await get_tree().create_timer(duration).timeout
|
||||||
|
if is_instance_valid(player):
|
||||||
|
player.speed = base_speed
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://ci50630gt06ch
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
extends CharacterBody2D
|
||||||
|
|
||||||
|
@onready var animated_sprite_2d: AnimatedSprite2D = $AnimatedSprite2D
|
||||||
|
@onready var ray_cast_right: RayCast2D = $RayCastRight
|
||||||
|
@onready var ray_cast_left: RayCast2D = $RayCastLeft
|
||||||
|
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||||
|
|
||||||
|
var speed = 130.0
|
||||||
|
var jump_velocity = -300.0
|
||||||
|
|
||||||
|
var is_hurt: bool = false
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
add_to_group("player")
|
||||||
|
|
||||||
|
|
||||||
|
func take_hit() -> void:
|
||||||
|
set_physics_process(true)
|
||||||
|
set_process(true)
|
||||||
|
$CollisionShape2D.set_deferred("disabled", false)
|
||||||
|
$Sounds/DeathSound.play()
|
||||||
|
is_hurt = true
|
||||||
|
animated_sprite_2d.play("damage")
|
||||||
|
var fps = animated_sprite_2d.sprite_frames.get_animation_speed("damage")
|
||||||
|
var frame_count = animated_sprite_2d.sprite_frames.get_frame_count("damage")
|
||||||
|
await get_tree().create_timer(frame_count / fps).timeout
|
||||||
|
is_hurt = false
|
||||||
|
|
||||||
|
func die() -> void:
|
||||||
|
animated_sprite_2d.play("death")
|
||||||
|
animation_player.play("death")
|
||||||
|
|
||||||
|
|
||||||
|
func _physics_process(delta: float) -> void:
|
||||||
|
if not is_on_floor():
|
||||||
|
velocity += get_gravity() * delta
|
||||||
|
|
||||||
|
if Input.is_action_just_pressed("jump") and is_on_floor():
|
||||||
|
velocity.y = jump_velocity
|
||||||
|
animation_player.play("jump")
|
||||||
|
elif Input.is_action_just_pressed("jump") and is_on_wall():
|
||||||
|
if ray_cast_right.is_colliding():
|
||||||
|
velocity.y = jump_velocity
|
||||||
|
velocity.x = -300
|
||||||
|
elif ray_cast_left.is_colliding():
|
||||||
|
velocity.y = jump_velocity
|
||||||
|
velocity.x = 300
|
||||||
|
animation_player.play("jump")
|
||||||
|
|
||||||
|
var direction := Input.get_axis("move_left", "move_right")
|
||||||
|
|
||||||
|
if direction > 0:
|
||||||
|
animated_sprite_2d.flip_h = false
|
||||||
|
elif direction < 0:
|
||||||
|
animated_sprite_2d.flip_h = true
|
||||||
|
|
||||||
|
if not is_hurt:
|
||||||
|
if is_on_floor():
|
||||||
|
if direction == 0:
|
||||||
|
animated_sprite_2d.play("idle")
|
||||||
|
else:
|
||||||
|
animated_sprite_2d.play("run")
|
||||||
|
else:
|
||||||
|
animated_sprite_2d.play("jump")
|
||||||
|
|
||||||
|
|
||||||
|
if direction:
|
||||||
|
velocity.x = direction * speed
|
||||||
|
else:
|
||||||
|
velocity.x = move_toward(velocity.x, 0, speed)
|
||||||
|
|
||||||
|
move_and_slide()
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://q646ipq51kns
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
extends Node2D
|
||||||
|
|
||||||
|
const SPEED = 30
|
||||||
|
|
||||||
|
var direction = 1
|
||||||
|
var is_dying = false
|
||||||
|
|
||||||
|
@onready var ray_cast_right: RayCast2D = $RayCastRight
|
||||||
|
@onready var ray_cast_left: RayCast2D = $RayCastLeft
|
||||||
|
@onready var animated_sprite_2d: AnimatedSprite2D = $AnimatedSprite2D
|
||||||
|
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||||
|
@onready var killzone_enemy: Area2D = $Killzone_enemy
|
||||||
|
@onready var collision_kill_player: CollisionShape2D = $KillzonePlayer/CollisionShape2D
|
||||||
|
@onready var collision_kill_enemy: CollisionShape2D = $Killzone_enemy/CollisionShape2D
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
killzone_enemy.body_entered.connect(_on_killzone_body_entered)
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if ray_cast_right.is_colliding():
|
||||||
|
direction = -1
|
||||||
|
animated_sprite_2d.flip_h = true
|
||||||
|
elif ray_cast_left.is_colliding():
|
||||||
|
direction = 1
|
||||||
|
animated_sprite_2d.flip_h = false
|
||||||
|
|
||||||
|
position.x += direction * SPEED * delta
|
||||||
|
|
||||||
|
|
||||||
|
func _on_killzone_body_entered(body: Node) -> void:
|
||||||
|
if body.is_in_group("player") and not is_dying:
|
||||||
|
is_dying = true
|
||||||
|
collision_kill_player.set_deferred("disabled",true)
|
||||||
|
animation_player.play("death")
|
||||||
|
body.velocity.y = -300
|
||||||
|
direction = 0
|
||||||
|
collision_kill_enemy.set_deferred("disabled", true)
|
||||||
|
await animation_player.animation_finished
|
||||||
|
queue_free()
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
uid://b70jd71jqvkx6
|
||||||