- adding coins

- performance improvements
- shake effect
- keyboard support
This commit is contained in:
megamichi 2024-11-04 19:10:10 +01:00
parent 78b4a3bba2
commit 45193fc27f
48 changed files with 609 additions and 74 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 B

View file

@ -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

View file

@ -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()

View file

@ -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))

View file

@ -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

View file

@ -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()

9
code/screen.gd Normal file
View file

@ -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

BIN
duck_original.aseprite Normal file

Binary file not shown.

BIN
duck_original.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

34
duck_original.png.import Normal file
View file

@ -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

View file

@ -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

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 827 B

View file

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -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"

View file

@ -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"]

View file

@ -12,3 +12,5 @@ func _ready() -> void:
func _process(delta: float) -> void:
global_position.x -= speed * delta
if global_position.x < -30:
queue_free()

20
scenes/coin/coin.gd Normal file
View file

@ -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()

BIN
scenes/coin/coin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

View file

@ -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

93
scenes/coin/coin.tscn Normal file
View file

@ -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"]

View file

@ -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()

View file

@ -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()

View file

@ -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

View file

@ -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:

View file

@ -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):

View file

@ -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

View file

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -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]

View file

@ -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")