diff --git a/assets/GUI/back button.png b/assets/GUI/back button.png index 8972a1f..aa50732 100644 Binary files a/assets/GUI/back button.png and b/assets/GUI/back button.png differ diff --git a/assets/GUI/buttons fucused/back button f.png b/assets/GUI/buttons fucused/back button f.png new file mode 100644 index 0000000..5b7a704 Binary files /dev/null and b/assets/GUI/buttons fucused/back button f.png differ diff --git a/assets/GUI/buttons fucused/back button f.png.import b/assets/GUI/buttons fucused/back button f.png.import new file mode 100644 index 0000000..3d0a1d7 --- /dev/null +++ b/assets/GUI/buttons fucused/back button f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fon35dtl2fdd" +path="res://.godot/imported/back button f.png-efb6ddf8f429550b2341f025ce20dd5a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/GUI/buttons fucused/back button f.png" +dest_files=["res://.godot/imported/back button f.png-efb6ddf8f429550b2341f025ce20dd5a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/GUI/buttons fucused/note button f.png b/assets/GUI/buttons fucused/note button f.png new file mode 100644 index 0000000..c9bfbdf Binary files /dev/null and b/assets/GUI/buttons fucused/note button f.png differ diff --git a/assets/GUI/buttons fucused/note button f.png.import b/assets/GUI/buttons fucused/note button f.png.import new file mode 100644 index 0000000..84d3504 --- /dev/null +++ b/assets/GUI/buttons fucused/note button f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8um1xy8sixhb" +path="res://.godot/imported/note button f.png-1397d916f56d1ff7f08e313d3b74bff7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/GUI/buttons fucused/note button f.png" +dest_files=["res://.godot/imported/note button f.png-1397d916f56d1ff7f08e313d3b74bff7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/GUI/buttons fucused/restart button f.png b/assets/GUI/buttons fucused/restart button f.png new file mode 100644 index 0000000..cb9452a Binary files /dev/null and b/assets/GUI/buttons fucused/restart button f.png differ diff --git a/assets/GUI/buttons fucused/restart button f.png.import b/assets/GUI/buttons fucused/restart button f.png.import new file mode 100644 index 0000000..ad36753 --- /dev/null +++ b/assets/GUI/buttons fucused/restart button f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bj06y06uq303j" +path="res://.godot/imported/restart button f.png-4b164de13f5dd59ea9c0197ef4d4bfda.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/GUI/buttons fucused/restart button f.png" +dest_files=["res://.godot/imported/restart button f.png-4b164de13f5dd59ea9c0197ef4d4bfda.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/GUI/buttons fucused/settings button f.png b/assets/GUI/buttons fucused/settings button f.png new file mode 100644 index 0000000..56b25b5 Binary files /dev/null and b/assets/GUI/buttons fucused/settings button f.png differ diff --git a/assets/GUI/buttons fucused/settings button f.png.import b/assets/GUI/buttons fucused/settings button f.png.import new file mode 100644 index 0000000..9b61490 --- /dev/null +++ b/assets/GUI/buttons fucused/settings button f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c66oktmsmdu0f" +path="res://.godot/imported/settings button f.png-2be0c78f63190ae3eba8fa51c122327b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/GUI/buttons fucused/settings button f.png" +dest_files=["res://.godot/imported/settings button f.png-2be0c78f63190ae3eba8fa51c122327b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/GUI/buttons fucused/sound button f.png b/assets/GUI/buttons fucused/sound button f.png new file mode 100644 index 0000000..ea737a7 Binary files /dev/null and b/assets/GUI/buttons fucused/sound button f.png differ diff --git a/assets/GUI/buttons fucused/sound button f.png.import b/assets/GUI/buttons fucused/sound button f.png.import new file mode 100644 index 0000000..09e07d3 --- /dev/null +++ b/assets/GUI/buttons fucused/sound button f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://botwq4rflsfl3" +path="res://.godot/imported/sound button f.png-93410106fda92fcdc0d46920cf415401.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/GUI/buttons fucused/sound button f.png" +dest_files=["res://.godot/imported/sound button f.png-93410106fda92fcdc0d46920cf415401.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/GUI/buttons fucused/sound button off f.png b/assets/GUI/buttons fucused/sound button off f.png new file mode 100644 index 0000000..f8f9af8 Binary files /dev/null and b/assets/GUI/buttons fucused/sound button off f.png differ diff --git a/assets/GUI/buttons fucused/sound button off f.png.import b/assets/GUI/buttons fucused/sound button off f.png.import new file mode 100644 index 0000000..d224eb6 --- /dev/null +++ b/assets/GUI/buttons fucused/sound button off f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dui5dacb5lpfg" +path="res://.godot/imported/sound button off f.png-3945d9207f642dfe8529e5786a9b11c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/GUI/buttons fucused/sound button off f.png" +dest_files=["res://.godot/imported/sound button off f.png-3945d9207f642dfe8529e5786a9b11c3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/GUI/buttons fucused/start button f.png b/assets/GUI/buttons fucused/start button f.png new file mode 100644 index 0000000..9f73d0d Binary files /dev/null and b/assets/GUI/buttons fucused/start button f.png differ diff --git a/assets/GUI/buttons fucused/start button f.png.import b/assets/GUI/buttons fucused/start button f.png.import new file mode 100644 index 0000000..fa66407 --- /dev/null +++ b/assets/GUI/buttons fucused/start button f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2mq6ck123lm" +path="res://.godot/imported/start button f.png-4d7107cb861657e999ab17db80bfd0d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/GUI/buttons fucused/start button f.png" +dest_files=["res://.godot/imported/start button f.png-4d7107cb861657e999ab17db80bfd0d5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/GUI/theme_slider/slider f.png b/assets/GUI/theme_slider/slider f.png new file mode 100644 index 0000000..7cf135a Binary files /dev/null and b/assets/GUI/theme_slider/slider f.png differ diff --git a/assets/GUI/theme_slider/slider f.png.import b/assets/GUI/theme_slider/slider f.png.import new file mode 100644 index 0000000..7d53486 --- /dev/null +++ b/assets/GUI/theme_slider/slider f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkcpp1iryq4hc" +path="res://.godot/imported/slider f.png-3d54eedc4180582468b166aaeccf5dd6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/GUI/theme_slider/slider f.png" +dest_files=["res://.godot/imported/slider f.png-3d54eedc4180582468b166aaeccf5dd6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/code/GUI/restartschild.gd b/code/GUI/restartschild.gd index 7cd12c6..8ef64b5 100644 --- a/code/GUI/restartschild.gd +++ b/code/GUI/restartschild.gd @@ -15,6 +15,7 @@ func _on_duck_gameover() -> void: $"../../Audio/GameOver".play() $"../../Audio/Gui-in".play() show() + $Restart.grab_focus() print($"/root/Global".hiscore) if %ScoreContainer.get_score() > $"/root/Global".hiscore: $"/root/Global".write_save() diff --git a/code/GUI/settingsschild.gd b/code/GUI/settingsschild.gd index c25bcfd..db29900 100644 --- a/code/GUI/settingsschild.gd +++ b/code/GUI/settingsschild.gd @@ -3,6 +3,7 @@ extends TextureRect var audio_bus_music = 1 var audio_bus_sounds = 2 var sound_button_on_of = {true:preload("res://assets/GUI/sound button.png"),false:preload("res://assets/GUI/sound button off.png")} +var sound_button_on_of_f = {true:preload("res://assets/GUI/buttons fucused/sound button f.png"),false:preload("res://assets/GUI/buttons fucused/sound button off f.png")} # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -18,6 +19,7 @@ func open(): show() $AnimationPlayer.play_backwards("out-in") $"../../Audio/Gui-in".play() + $BackButton.grab_focus() func _on_back_pressed() -> void: $AnimationPlayer.play("out-in") @@ -34,4 +36,5 @@ func _volume_slider_changed(value: float) -> void: func _on_sound_button_toggled(toggled_on: bool) -> void: $SoundToggleButton.texture_normal = sound_button_on_of[AudioServer.is_bus_mute(audio_bus_sounds)] + $SoundToggleButton.texture_focused = sound_button_on_of_f[AudioServer.is_bus_mute(audio_bus_sounds)] AudioServer.set_bus_mute(audio_bus_sounds,not AudioServer.is_bus_mute(audio_bus_sounds)) diff --git a/code/GUI/startschild.gd b/code/GUI/startschild.gd index 64c3273..1d53da3 100644 --- a/code/GUI/startschild.gd +++ b/code/GUI/startschild.gd @@ -6,6 +6,7 @@ func _ready() -> void: $AnimationPlayer.play_backwards("out-in") $"../../Audio/Gui-in".play() show() + $Start.grab_focus() func _process(delta: float) -> void: $Logo.global_position.x = -5 diff --git a/code/main.gd b/code/main.gd index bbd9f88..150002b 100644 --- a/code/main.gd +++ b/code/main.gd @@ -8,9 +8,10 @@ func _ready() -> void: func start_game(): $Screen/Background/Floor/EasterEggFixCollision.disabled = true - $Screen/HindernissSpawner.del_all() + $Screen/HurdleSpawner.del_all() $Gui/EastereggSpawner.del_all() $Screen/SpawnTimer.start() + $Screen/CoinSpawnTimer.start() $Screen/LevelUpTimer.start() $Screen/Duck.start() $Gui/HiscoreContainer.hide() diff --git a/code/screen.gd b/code/screen.gd new file mode 100644 index 0000000..aeacc5e --- /dev/null +++ b/code/screen.gd @@ -0,0 +1,9 @@ +extends Node2D + + +func shake(intensity): + var preview_pos = global_position + for x in range(14): + global_position.y = randi_range(0-intensity,intensity) + await get_tree().create_timer(0.02).timeout + global_position = preview_pos diff --git a/duck_original.aseprite b/duck_original.aseprite new file mode 100644 index 0000000..0d79a13 Binary files /dev/null and b/duck_original.aseprite differ diff --git a/duck_original.png b/duck_original.png new file mode 100644 index 0000000..8630281 Binary files /dev/null and b/duck_original.png differ diff --git a/duck_original.png.import b/duck_original.png.import new file mode 100644 index 0000000..e03ca21 --- /dev/null +++ b/duck_original.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vjgj0agmfm0x" +path="res://.godot/imported/duck_original.png-74e436be6bfe0d180a3751dab0abe3a3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://duck_original.png" +dest_files=["res://.godot/imported/duck_original.png-74e436be6bfe0d180a3751dab0abe3a3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/export_presets.cfg b/export_presets.cfg index 6b8af5f..14d14a1 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -9,7 +9,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="builds/DuckRun_v2.3.0.apk" +export_path="builds/DuckRun_v2.3.1beta.apk" encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false @@ -42,7 +42,7 @@ package/exclude_from_recents=false package/show_in_android_tv=false package/show_in_app_library=true package/show_as_launcher_app=false -launcher_icons/main_192x192="res://icon_android.png" +launcher_icons/main_192x192="res://icon.png" launcher_icons/adaptive_foreground_432x432="res://icon_android.png" launcher_icons/adaptive_background_432x432="res://icon_bg.png" graphics/opengl_debug=false diff --git a/icon.png b/icon.png index 3f9ea6b..ead6376 100644 Binary files a/icon.png and b/icon.png differ diff --git a/icon.png.import b/icon.png.import index 0ac3bae..bf8352f 100644 --- a/icon.png.import +++ b/icon.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cgu1aek7px110" +uid="uid://bkdglxxsrb2cd" path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" metadata={ "vram_texture": false diff --git a/icon_android.png b/icon_android.png index 03c7b8b..fc04a40 100644 Binary files a/icon_android.png and b/icon_android.png differ diff --git a/icon_android.png.import b/icon_android.png.import index 800528d..e6b90a4 100644 --- a/icon_android.png.import +++ b/icon_android.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cebhteowr70h0" +uid="uid://cqjesxgupnh4m" path="res://.godot/imported/icon_android.png-68be0b3737a0d9e979d0f2a1ecdab0d3.ctex" metadata={ "vram_texture": false diff --git a/icon_bg.png b/icon_bg.png index c43ccdd..0cb75c4 100644 Binary files a/icon_bg.png and b/icon_bg.png differ diff --git a/project.godot b/project.godot index ce8e34e..de5d45b 100644 --- a/project.godot +++ b/project.godot @@ -102,5 +102,6 @@ common/enable_pause_aware_picking=true [rendering] textures/canvas_textures/default_texture_filter=0 +renderer/rendering_method="mobile" textures/vram_compression/import_etc2_astc=true environment/defaults/default_environment="res://default_env.tres" diff --git a/scenes/Main.tscn b/scenes/Main.tscn index 8501524..1ea528d 100644 --- a/scenes/Main.tscn +++ b/scenes/Main.tscn @@ -1,22 +1,29 @@ -[gd_scene load_steps=41 format=3 uid="uid://bb5qp5868y5i"] +[gd_scene load_steps=49 format=3 uid="uid://bb5qp5868y5i"] [ext_resource type="Script" path="res://code/main.gd" id="1_ar2ah"] [ext_resource type="PackedScene" uid="uid://8v5mbbnddorh" path="res://scenes/Duck/Duck.tscn" id="2"] +[ext_resource type="Script" path="res://code/screen.gd" id="2_cix0i"] [ext_resource type="Texture2D" uid="uid://dgfvf2ta4lc4e" path="res://assets/stars.png" id="2_ohf2r"] [ext_resource type="Script" path="res://scenes/ground/spawner/ground_spawner.gd" id="3_va7mo"] -[ext_resource type="Script" path="res://scenes/hindernis/Spawner/hindernis_spawner.gd" id="4_oc6me"] +[ext_resource type="Script" path="res://scenes/hurdle/Spawner/spawner.gd" id="4_oc6me"] [ext_resource type="PackedScene" uid="uid://cjq8kb0mhjh8r" path="res://scenes/ground/ground.tscn" id="4_tt0te"] +[ext_resource type="Script" path="res://scenes/coin/spawner/coin_spawner.gd" id="8_7ggb5"] [ext_resource type="Script" path="res://scenes/Wolke/Spawner/wolken_spawner.gd" id="11_x2wm3"] [ext_resource type="Script" path="res://scenes/easteregg/Spawner/easteregg_spawner.gd" id="12_hl8it"] [ext_resource type="FontFile" uid="uid://ddvhypxkj8a1b" path="res://Megamichisfont-small.otf" id="13_666gv"] [ext_resource type="Script" path="res://code/hiscore.gd" id="14_ah063"] [ext_resource type="PackedScene" uid="uid://dm307sj4nenjt" path="res://scenes/schild.tscn" id="15_1xp2x"] +[ext_resource type="Texture2D" uid="uid://fon35dtl2fdd" path="res://assets/GUI/buttons fucused/back button f.png" id="15_2rflk"] [ext_resource type="Script" path="res://code/GUI/settingsschild.gd" id="16_4ssry"] [ext_resource type="Texture2D" uid="uid://nvn254p6tk8j" path="res://assets/GUI/back button.png" id="17_3kek5"] +[ext_resource type="Texture2D" uid="uid://bkcpp1iryq4hc" path="res://assets/GUI/theme_slider/slider f.png" id="17_f78xf"] +[ext_resource type="Texture2D" uid="uid://botwq4rflsfl3" path="res://assets/GUI/buttons fucused/sound button f.png" id="18_ahbxs"] [ext_resource type="Texture2D" uid="uid://bf82voofmvdj4" path="res://assets/GUI/theme_slider/slider.png" id="18_u2no7"] [ext_resource type="Texture2D" uid="uid://46wo0ufacs5d" path="res://assets/GUI/sound button.png" id="19_vwek8"] +[ext_resource type="Texture2D" uid="uid://bj06y06uq303j" path="res://assets/GUI/buttons fucused/restart button f.png" id="20_5xtpj"] [ext_resource type="AudioStream" uid="uid://drriw1cka4m3" path="res://assets/audio/gui-in.ogg" id="20_eihxi"] [ext_resource type="Texture2D" uid="uid://do0okfxenx2ci" path="res://assets/GUI/restart button.png" id="20_gdgit"] +[ext_resource type="Texture2D" uid="uid://2mq6ck123lm" path="res://assets/GUI/buttons fucused/start button f.png" id="20_i5ekl"] [ext_resource type="AudioStream" uid="uid://ctt1kb2a66yyl" path="res://assets/audio/boing.mp3" id="21_ch5yv"] [ext_resource type="AudioStream" uid="uid://bktthpfrs0118" path="res://assets/audio/gui-out.ogg" id="21_frskh"] [ext_resource type="Script" path="res://code/GUI/startschild.gd" id="21_owbcl"] @@ -25,6 +32,22 @@ [ext_resource type="Texture2D" uid="uid://dqvnnd3o1eele" path="res://assets/GUI/settings button.png" id="23_on2gf"] [ext_resource type="Texture2D" uid="uid://bj7bgtdcbdald" path="res://assets/GUI/logo.png" id="24_8b8my"] [ext_resource type="Script" path="res://code/score.gd" id="25_2prek"] +[ext_resource type="Texture2D" uid="uid://c66oktmsmdu0f" path="res://assets/GUI/buttons fucused/settings button f.png" id="25_bjwbg"] + +[sub_resource type="Animation" id="Animation_28fei"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:color") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.0001), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)] +} [sub_resource type="Animation" id="Animation_yef6t"] resource_name = "fade" @@ -42,21 +65,6 @@ tracks/0/keys = { "values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)] } -[sub_resource type="Animation" id="Animation_28fei"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath(".:color") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.0001), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_s1fwp"] _data = { "RESET": SubResource("Animation_28fei"), @@ -274,7 +282,7 @@ anti_aliasing = false [sub_resource type="Theme" id="Theme_fcgbk"] HSlider/icons/grabber = ExtResource("18_u2no7") -HSlider/icons/grabber_highlight = ExtResource("18_u2no7") +HSlider/icons/grabber_highlight = ExtResource("17_f78xf") HSlider/styles/grabber_area = SubResource("StyleBoxEmpty_jin1w") HSlider/styles/grabber_area_highlight = SubResource("StyleBoxEmpty_g0rdc") HSlider/styles/slider = SubResource("StyleBoxFlat_xb3tf") @@ -291,9 +299,17 @@ libraries = { } [node name="Screen" type="Node2D" parent="."] +script = ExtResource("2_cix0i") + +[node name="ColorRect" type="ColorRect" parent="Screen"] +offset_left = -10.0 +offset_top = -9.0 +offset_right = 561.0 +offset_bottom = 111.0 +color = Color(0.160784, 0.670588, 0.8, 1) [node name="AnimationPlayer" type="AnimationPlayer" parent="Screen"] -root_node = NodePath("../BackgroundRect") +root_node = NodePath("") libraries = { "": SubResource("AnimationLibrary_c30x0") } @@ -303,11 +319,6 @@ wait_time = 12.0 autostart = true script = SubResource("GDScript_rkc4w") -[node name="BackgroundRect" type="ColorRect" parent="Screen"] -offset_right = 485.0 -offset_bottom = 97.0 -color = Color(0.162512, 0.669077, 0.79808, 1) - [node name="Background" type="Node2D" parent="Screen"] [node name="Stars" type="Sprite2D" parent="Screen/Background"] @@ -342,9 +353,14 @@ shape = SubResource("RectangleShape2D_0a3yj") [node name="Duck" parent="Screen" instance=ExtResource("2")] position = Vector2(21, 91) -[node name="HindernissSpawner" type="Marker2D" parent="Screen"] +[node name="CoinSpawner" type="Marker2D" parent="Screen"] +position = Vector2(485, 83) +script = ExtResource("8_7ggb5") + +[node name="HurdleSpawner" type="Marker2D" parent="Screen"] position = Vector2(485, 92) script = ExtResource("4_oc6me") +metadata/_edit_lock_ = true [node name="LevelUpTimer" type="Timer" parent="Screen"] wait_time = 5.0 @@ -352,6 +368,9 @@ wait_time = 5.0 [node name="SpawnTimer" type="Timer" parent="Screen"] wait_time = 1.6 +[node name="CoinSpawnTimer" type="Timer" parent="Screen"] +wait_time = 1.6 + [node name="Gui" type="Control" parent="."] layout_mode = 3 anchors_preset = 15 @@ -406,28 +425,31 @@ script = ExtResource("16_4ssry") [node name="BackButton" type="TextureButton" parent="Gui/Settings"] layout_mode = 1 -offset_left = 2.0 -offset_top = 79.0 -offset_right = 17.0 -offset_bottom = 94.0 +offset_left = 4.0 +offset_top = 81.0 +offset_right = 19.0 +offset_bottom = 96.0 +focus_neighbor_bottom = NodePath("../ColorSlider") +focus_next = NodePath("../ColorSlider") texture_normal = ExtResource("17_3kek5") +texture_focused = ExtResource("15_2rflk") [node name="ColorLabel" type="Label" parent="Gui/Settings"] layout_mode = 0 offset_left = 5.0 -offset_top = 98.0 +offset_top = 106.0 offset_right = 62.0 -offset_bottom = 115.0 +offset_bottom = 123.0 theme_override_fonts/font = ExtResource("13_666gv") theme_override_font_sizes/font_size = 8 -text = "Color" +text = "Duck Color:" [node name="VolumeLabel" type="Label" parent="Gui/Settings"] layout_mode = 0 offset_left = 5.0 -offset_top = 127.0 +offset_top = 126.0 offset_right = 45.0 -offset_bottom = 150.0 +offset_bottom = 149.0 theme_override_fonts/font = ExtResource("13_666gv") theme_override_font_sizes/font_size = 8 text = "Music:" @@ -437,10 +459,14 @@ layout_mode = 1 anchors_preset = -1 anchor_right = 0.699 anchor_bottom = 0.5 -offset_left = 32.0 -offset_top = 93.0 -offset_right = 26.1 -offset_bottom = 34.0 +offset_left = 5.0 +offset_top = 110.0 +offset_right = 25.1 +offset_bottom = 51.0 +focus_neighbor_top = NodePath("../BackButton") +focus_neighbor_bottom = NodePath("../VolumeSlider") +focus_next = NodePath("../VolumeSlider") +focus_previous = NodePath("../BackButton") theme = SubResource("Theme_fcgbk") value = 17.0 allow_greater = true @@ -452,9 +478,14 @@ anchors_preset = -1 anchor_right = 0.699 anchor_bottom = 0.5 offset_left = 5.0 -offset_top = 131.0 -offset_right = 12.1 -offset_bottom = 72.0 +offset_top = 130.0 +offset_right = 11.1 +offset_bottom = 71.0 +focus_neighbor_left = NodePath("../SoundToggleButton") +focus_neighbor_top = NodePath("../ColorSlider") +focus_neighbor_bottom = NodePath("../SoundToggleButton") +focus_next = NodePath("../SoundToggleButton") +focus_previous = NodePath("../ColorSlider") theme = SubResource("Theme_fcgbk") value = 20.0 allow_greater = true @@ -467,16 +498,18 @@ anchor_left = 1.0 anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = -18.0 -offset_top = -18.05 -offset_right = -3.0 -offset_bottom = 2.0 +offset_left = -19.0 +offset_top = -19.0 +offset_right = -4.0 +offset_bottom = 1.05 grow_horizontal = 0 grow_vertical = 0 toggle_mode = true texture_normal = ExtResource("19_vwek8") +texture_focused = ExtResource("18_ahbxs") [node name="GameOverSchild" parent="Gui" instance=ExtResource("15_1xp2x")] +visible = false layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -491,6 +524,7 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_vertical = 4 stretch_mode = 2 +metadata/_edit_lock_ = true [node name="Restart" type="TextureButton" parent="Gui/GameOverSchild"] texture_repeat = 2 @@ -506,7 +540,9 @@ offset_right = -8.0 offset_bottom = -8.3 scale = Vector2(3, 3) texture_normal = ExtResource("20_gdgit") +texture_focused = ExtResource("20_5xtpj") stretch_mode = 1 +metadata/_edit_lock_ = true [node name="back" type="TextureButton" parent="Gui/GameOverSchild"] texture_repeat = 2 @@ -516,14 +552,14 @@ anchor_left = 0.5 anchor_top = 0.762 anchor_right = 0.5 anchor_bottom = 0.762 -offset_left = -48.0 -offset_top = -35.3 -offset_right = -33.0 -offset_bottom = -20.3 +offset_left = -46.0 +offset_top = -33.3 +offset_right = -31.0 +offset_bottom = -18.3 texture_normal = ExtResource("17_3kek5") +texture_focused = ExtResource("15_2rflk") [node name="StartSchild" parent="Gui" instance=ExtResource("15_1xp2x")] -visible = false layout_mode = 1 anchors_preset = 6 anchor_left = 1.0 @@ -555,7 +591,10 @@ offset_bottom = -8.55 grow_horizontal = 2 grow_vertical = 2 scale = Vector2(3, 3) +focus_neighbor_left = NodePath("../Settings") +focus_previous = NodePath("../Settings") texture_normal = ExtResource("22_x686b") +texture_focused = ExtResource("20_i5ekl") stretch_mode = 1 [node name="Settings" type="TextureButton" parent="Gui/StartSchild"] @@ -573,7 +612,12 @@ offset_bottom = -8.55 grow_horizontal = 2 grow_vertical = 2 scale = Vector2(3, 3) +focus_neighbor_left = NodePath("../Logo") +focus_neighbor_right = NodePath("../Start") +focus_next = NodePath("../Start") +focus_previous = NodePath("../Logo") texture_normal = ExtResource("23_on2gf") +texture_focused = ExtResource("25_bjwbg") stretch_mode = 1 [node name="Logo" type="TextureButton" parent="Gui/StartSchild"] @@ -592,6 +636,8 @@ grow_vertical = 0 rotation = -0.413643 size_flags_horizontal = 4 size_flags_vertical = 4 +focus_neighbor_right = NodePath("../Settings") +focus_next = NodePath("../Settings") texture_normal = ExtResource("24_8b8my") [node name="ScoreContainer" type="HBoxContainer" parent="Gui"] @@ -646,8 +692,10 @@ bus = &"Background" [connection signal="timeout" from="Screen/Background/WolkenSpawner/WolkenTimer" to="Screen/Background/WolkenSpawner" method="_spawn"] [connection signal="screen_entered" from="Screen/Background/GroundSpawner/Ground" to="Screen/Background/GroundSpawner" method="_on_ground_sprite_screen_entered"] [connection signal="gameover" from="Screen/Duck" to="Gui/GameOverSchild" method="_on_duck_gameover"] +[connection signal="gameover" from="Screen/Duck" to="Screen" method="shake" binds= [4]] [connection signal="timeout" from="Screen/LevelUpTimer" to="." method="_on_level_up_timer_timeout"] -[connection signal="timeout" from="Screen/SpawnTimer" to="Screen/HindernissSpawner" method="_spawn"] +[connection signal="timeout" from="Screen/SpawnTimer" to="Screen/HurdleSpawner" method="_spawn"] +[connection signal="timeout" from="Screen/CoinSpawnTimer" to="Screen/CoinSpawner" method="_spawn"] [connection signal="pressed" from="Gui/Settings/BackButton" to="Gui/Settings" method="_on_back_pressed"] [connection signal="value_changed" from="Gui/Settings/ColorSlider" to="Screen/Duck" method="_color_slider_changed"] [connection signal="value_changed" from="Gui/Settings/VolumeSlider" to="Gui/Settings" method="_volume_slider_changed"] diff --git a/scenes/Wolke/wolke.gd b/scenes/Wolke/wolke.gd index f746c22..f299a90 100644 --- a/scenes/Wolke/wolke.gd +++ b/scenes/Wolke/wolke.gd @@ -12,3 +12,5 @@ func _ready() -> void: func _process(delta: float) -> void: global_position.x -= speed * delta + if global_position.x < -30: + queue_free() diff --git a/scenes/coin/coin.gd b/scenes/coin/coin.gd new file mode 100644 index 0000000..5e85b24 --- /dev/null +++ b/scenes/coin/coin.gd @@ -0,0 +1,20 @@ +extends Area2D + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + $AnimationPlayer.play("rotate") + +func _physics_process(delta: float) -> void: + if $"/root/Global".gamerunning: + global_position.x -= $"/root/Global".speed*delta + + +func _on_body_entered(body: Node2D) -> void: + if body.name == "Duck": + $AnimationPlayer.play("explode") + await $AnimationPlayer.animation_finished + queue_free() + # add coin + if body.name == "hurdle": + queue_free() diff --git a/scenes/coin/coin.png b/scenes/coin/coin.png new file mode 100644 index 0000000..5a26b3a Binary files /dev/null and b/scenes/coin/coin.png differ diff --git a/scenes/coin/coin.png.import b/scenes/coin/coin.png.import new file mode 100644 index 0000000..59c4dbb --- /dev/null +++ b/scenes/coin/coin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtn6mbn4q0plm" +path="res://.godot/imported/coin.png-08ace616f8004d0714e7855bfad24d21.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/coin/coin.png" +dest_files=["res://.godot/imported/coin.png-08ace616f8004d0714e7855bfad24d21.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/coin/coin.tscn b/scenes/coin/coin.tscn new file mode 100644 index 0000000..5195fc2 --- /dev/null +++ b/scenes/coin/coin.tscn @@ -0,0 +1,93 @@ +[gd_scene load_steps=8 format=3 uid="uid://b0au341yw6g52"] + +[ext_resource type="Texture2D" uid="uid://dtn6mbn4q0plm" path="res://scenes/coin/coin.png" id="1_4vkkb"] +[ext_resource type="Script" path="res://scenes/coin/coin.gd" id="1_xp82m"] + +[sub_resource type="Animation" id="Animation_jfpvc"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} + +[sub_resource type="Animation" id="Animation_64j7p"] +resource_name = "rotate" +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.666667, 0.766667, 0.9), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 1] +} + +[sub_resource type="Animation" id="Animation_6xqsk"] +resource_name = "explode" +length = 0.1 +step = 0.01 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.09), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_om3ic"] +_data = { +"RESET": SubResource("Animation_jfpvc"), +"explode": SubResource("Animation_6xqsk"), +"rotate": SubResource("Animation_64j7p") +} + +[sub_resource type="CircleShape2D" id="CircleShape2D_qamc5"] +radius = 3.0 + +[node name="Coin" type="Area2D"] +script = ExtResource("1_xp82m") + +[node name="Sprite" type="Sprite2D" parent="."] +texture = ExtResource("1_4vkkb") +hframes = 3 +metadata/_edit_lock_ = true + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_om3ic") +} + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +visible = false +shape = SubResource("CircleShape2D_qamc5") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/scenes/coin/spawner/coin_spawner.gd b/scenes/coin/spawner/coin_spawner.gd new file mode 100644 index 0000000..f6fdde0 --- /dev/null +++ b/scenes/coin/spawner/coin_spawner.gd @@ -0,0 +1,22 @@ +extends Marker2D + +var speed + +func _ready() -> void: + speed = $"/root/Global".speed #get_parent().speed + _spawn() + + +func _spawn() -> void: + var coin = preload("res://scenes/coin/coin.tscn").instantiate() + speed = $"/root/Global".speed + + var v1 = 1.5 - (speed / 200)#260 + var v2 = 2.0 - (speed / 200) + coin.global_position.y -= randi_range(0,2)*16 + $"../CoinSpawnTimer".wait_time = randf_range(v1,v2) + add_child(coin) + +func del_all(): + for child in get_children(): + child.queue_free() diff --git a/scenes/easteregg/easteregg.gd b/scenes/easteregg/easteregg.gd index 6215bce..8305e24 100644 --- a/scenes/easteregg/easteregg.gd +++ b/scenes/easteregg/easteregg.gd @@ -9,4 +9,5 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: - pass + if global_position.y > 100: + queue_free() diff --git a/scenes/easteregg/easteregg.tscn b/scenes/easteregg/easteregg.tscn index 48ad433..31dc800 100644 --- a/scenes/easteregg/easteregg.tscn +++ b/scenes/easteregg/easteregg.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://co76l7v0x2t8t"] [ext_resource type="Script" path="res://scenes/easteregg/easteregg.gd" id="1_3dnpr"] -[ext_resource type="Texture2D" uid="uid://bp48x77dixrme" path="res://scenes/hindernis/hindernisse.png" id="1_al4up"] +[ext_resource type="Texture2D" uid="uid://bp48x77dixrme" path="res://scenes/hurdle/hurdle.png" id="1_al4up"] [sub_resource type="CircleShape2D" id="CircleShape2D_ruej1"] radius = 8.06226 diff --git a/scenes/ground/ground.gd b/scenes/ground/ground.gd index b1522b5..414ae65 100644 --- a/scenes/ground/ground.gd +++ b/scenes/ground/ground.gd @@ -10,6 +10,8 @@ func _ready() -> void: func _physics_process(delta: float) -> void: if $"/root/Global".gamerunning: global_position.x -= $"/root/Global".speed*delta + if global_position.y < -30: + queue_free() func screen_e() -> void: diff --git a/scenes/ground/spawner/ground_spawner.gd b/scenes/ground/spawner/ground_spawner.gd index 40a5359..6f970bc 100644 --- a/scenes/ground/spawner/ground_spawner.gd +++ b/scenes/ground/spawner/ground_spawner.gd @@ -21,15 +21,6 @@ func probability(prozent): return randf() > 1 - (0.01 * prozent) func change_biom(): - #if active_biom == "w_n": - # active_biom = "n" - #elif active_biom == "s_n": - # active_biom = "n" - #elif active_biom == "n_w": - # active_biom = "w" - #elif active_biom == "n_s": - # active_biom = "s" - if biom_type == "n": change_in -= 1 if probability(60): diff --git a/scenes/hindernis/Spawner/hindernis_spawner.gd b/scenes/hurdle/Spawner/spawner.gd similarity index 83% rename from scenes/hindernis/Spawner/hindernis_spawner.gd rename to scenes/hurdle/Spawner/spawner.gd index 1cc3ceb..bbea231 100644 --- a/scenes/hindernis/Spawner/hindernis_spawner.gd +++ b/scenes/hurdle/Spawner/spawner.gd @@ -7,7 +7,7 @@ func _ready() -> void: func _spawn() -> void: - var hindernis = preload("res://scenes/hindernis/hindernis.tscn").instantiate() + var hindernis = preload("res://scenes/hurdle/hurdle.tscn").instantiate() speed = $"/root/Global".speed hindernis.speed = speed diff --git a/scenes/hindernis/hindernis.gd b/scenes/hurdle/hurdle.gd similarity index 100% rename from scenes/hindernis/hindernis.gd rename to scenes/hurdle/hurdle.gd diff --git a/scenes/hindernis/hindernisse.png b/scenes/hurdle/hurdle.png similarity index 100% rename from scenes/hindernis/hindernisse.png rename to scenes/hurdle/hurdle.png diff --git a/scenes/hindernis/hindernisse.png.import b/scenes/hurdle/hurdle.png.import similarity index 71% rename from scenes/hindernis/hindernisse.png.import rename to scenes/hurdle/hurdle.png.import index 14fd030..088fc19 100644 --- a/scenes/hindernis/hindernisse.png.import +++ b/scenes/hurdle/hurdle.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bp48x77dixrme" -path="res://.godot/imported/hindernisse.png-2e17c6b239dd45768c8c51c61d217402.ctex" +path="res://.godot/imported/hurdle.png-68dde4d9f095a6d006bd2c90c4279ac6.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://scenes/hindernis/hindernisse.png" -dest_files=["res://.godot/imported/hindernisse.png-2e17c6b239dd45768c8c51c61d217402.ctex"] +source_file="res://scenes/hurdle/hurdle.png" +dest_files=["res://.godot/imported/hurdle.png-68dde4d9f095a6d006bd2c90c4279ac6.ctex"] [params] diff --git a/scenes/hindernis/hindernis.tscn b/scenes/hurdle/hurdle.tscn similarity index 83% rename from scenes/hindernis/hindernis.tscn rename to scenes/hurdle/hurdle.tscn index 2aace84..9f5c041 100644 --- a/scenes/hindernis/hindernis.tscn +++ b/scenes/hurdle/hurdle.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://cp43g3amm8a6f"] -[ext_resource type="Script" path="res://scenes/hindernis/hindernis.gd" id="1_e0hqe"] -[ext_resource type="Texture2D" uid="uid://bp48x77dixrme" path="res://scenes/hindernis/hindernisse.png" id="2_thg8w"] +[ext_resource type="Script" path="res://scenes/hurdle/hurdle.gd" id="1_e0hqe"] +[ext_resource type="Texture2D" uid="uid://bp48x77dixrme" path="res://scenes/hurdle/hurdle.png" id="2_thg8w"] [sub_resource type="CircleShape2D" id="CircleShape2D_orpyb"] radius = 5.0 @@ -9,7 +9,7 @@ radius = 5.0 [sub_resource type="CircleShape2D" id="CircleShape2D_r1tmj"] radius = 5.0 -[node name="CharacterBody2D" type="CharacterBody2D"] +[node name="hurdle" type="CharacterBody2D"] collision_layer = 3 collision_mask = 3 script = ExtResource("1_e0hqe")