Compare commits

...

4 commits
2.3.0 ... main

Author SHA1 Message Date
megamichi
947bdba21e fic git again 2024-11-10 20:03:36 +01:00
megamichi
194ae93854 fixing gitignore and removing builds folder 2024-11-10 20:02:12 +01:00
megamichi
dd5b4bcae5 - improving textures
- adding coins (no shop jet)
- adding skin changing [no gui jet
- fixing loops for deleting stuff]
2024-11-10 19:51:00 +01:00
megamichi
45193fc27f - adding coins
- performance improvements
- shake effect
- keyboard support
2024-11-04 19:10:10 +01:00
82 changed files with 1096 additions and 395 deletions

5
.gitignore vendored
View file

@ -1,5 +1,6 @@
# Godot 4+ specific ignores # Godot 4+ specific ignores
.godot/ .godot/
/android/ images/
/builds/ android/
builds/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 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: 587 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: 574 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: 568 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: 600 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: 607 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: 559 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.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 553 B

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,32 +1,22 @@
extends TextureRect extends TextureRect
# Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
$AnimationPlayer.play_backwards("out-in") $AnimationPlayer.play_backwards("out-in")
hide() hide()
func _process(_delta: float) -> void:
pass
#global_position.x = get_viewport().get_visible_rect().size.x * 0.5
func _on_duck_gameover() -> void: func _on_duck_gameover() -> void:
$AnimationPlayer.play_backwards("out-in") $AnimationPlayer.pop_in()
$"../../Audio/GameOver".play() $"../../Audio/GameOver".play()
$"../../Audio/Gui-in".play() $Restart.grab_focus()
show()
print($"/root/Global".hiscore) print($"/root/Global".hiscore)
if %ScoreContainer.get_score() > $"/root/Global".hiscore: if %ScoreContainer.get_score() > $"/root/Global".hiscore:
$"/root/Global".write_save() $"/root/Global".write_save()
func _on_restart_pressed() -> void: func _on_restart_pressed() -> void:
$"../..".start_game() $"../..".start_game()
$AnimationPlayer.play("out-in") $AnimationPlayer.pop_out()
$"../../Audio/Gui-out".play()
await $AnimationPlayer.animation_finished
hide()
func _on_back_pressed() -> void: func _on_back_pressed() -> void:

View file

@ -3,8 +3,9 @@ extends TextureRect
var audio_bus_music = 1 var audio_bus_music = 1
var audio_bus_sounds = 2 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 = {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: func _ready() -> void:
#$"../../Audio/Duckrun".volume_db = linear_to_db(20*0.01) #$"../../Audio/Duckrun".volume_db = linear_to_db(20*0.01)
$AnimationPlayer.play_backwards("out-in") $AnimationPlayer.play_backwards("out-in")
@ -15,23 +16,18 @@ func _process(_delta: float) -> void:
#$Logo.global_position.x = 0 #$Logo.global_position.x = 0
func open(): func open():
show() $AnimationPlayer.pop_in()
$AnimationPlayer.play_backwards("out-in") $BackButton.grab_focus()
$"../../Audio/Gui-in".play()
func _on_back_pressed() -> void: func _on_back_pressed() -> void:
$AnimationPlayer.play("out-in") $AnimationPlayer.pop_out()
$"../../Audio/Gui-out".play()
await $AnimationPlayer.animation_finished
hide()
$"../StartSchild"._ready() $"../StartSchild"._ready()
func _volume_slider_changed(value: float) -> void: func _volume_slider_changed(value: float) -> void:
AudioServer.set_bus_volume_db(audio_bus_music,linear_to_db(value*0.01)) AudioServer.set_bus_volume_db(audio_bus_music,linear_to_db(value*0.01))
func _on_sound_button_toggled(toggled_on: bool) -> 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_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)) AudioServer.set_bus_mute(audio_bus_sounds,not AudioServer.is_bus_mute(audio_bus_sounds))

View file

@ -1,27 +1,21 @@
extends TextureRect extends TextureRect
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
$AnimationPlayer.play_backwards("out-in") $"../StartSchildLogo/AnimationPlayer".pop_in()
$"../../Audio/Gui-in".play() $AnimationPlayer.pop_in()
show() $Start.grab_focus()
func _process(delta: float) -> void:
$Logo.global_position.x = -5
func _on_start_pressed() -> void: func _on_start_pressed() -> void:
$AnimationPlayer.pop_out()
$"../StartSchildLogo/AnimationPlayer".pop_out()
$"../..".start_game() $"../..".start_game()
$AnimationPlayer.play("out-in")
$"../../Audio/Gui-out".play()
await $AnimationPlayer.animation_finished
hide()
func _on_settings_pressed() -> void: func _on_settings_pressed() -> void:
$AnimationPlayer.play("out-in") $"../StartSchildLogo/AnimationPlayer".pop_out()
$"../../Audio/Gui-out".play() $AnimationPlayer.pop_out()
await $AnimationPlayer.animation_finished
hide()
$"../Settings".open() $"../Settings".open()

View file

@ -1,3 +1,4 @@
{ {
"hiscore":0 "hiscore":0,
"coins":0
} }

View file

@ -12,40 +12,13 @@ var active_biom
var gamerunning = false var gamerunning = false
var hiscore var hiscore:int
var coins:int
func _ready() -> void: func _ready() -> void:
load_save() var save = load_save()
#write_save() hiscore = save["hiscore"]
func load_save(): coins = save["hiscore"]
var data : FileAccess
if (not FileAccess.file_exists("user://save.json")) or (FileAccess.open("user://save.json", FileAccess.READ_WRITE).get_as_text() == ""):
data = FileAccess.open("user://save.json", FileAccess.WRITE)
data.store_string(FileAccess.open("res://code/first_save.json", FileAccess.READ).get_as_text())
data.close()
data = FileAccess.open("user://save.json", FileAccess.READ)
var content_text = JSON.parse_string(data.get_as_text())
if content_text:
print("loaded: ",content_text)
hiscore = content_text.get("hiscore", 0)
else:
print("Failed to parse JSON")
data.close()
func write_save():
var data : FileAccess
data = FileAccess.open("user://save.json",FileAccess.WRITE)
var content = JSON.stringify(
{
"hiscore":$/root/Game/Gui/ScoreContainer.get_score()
}
)
print("saved: ",content)
data.store_string(content)
func reset_game(): func reset_game():
speed = 100 speed = 100
@ -53,5 +26,39 @@ func reset_game():
active_biom = "n" active_biom = "n"
gamerunning = false gamerunning = false
_ready() _ready()
$/root/Game/Fade/FadeAnimation.play("fade")
get_tree().reload_current_scene() get_tree().reload_current_scene()
var data : FileAccess
func load_save() -> Dictionary:
# wenn kein save vorhanden ist, erstelle eins
if (not FileAccess.file_exists("user://save.json")) or (FileAccess.open("user://save.json", FileAccess.READ_WRITE).get_as_text() == ""):
init_save()
data = FileAccess.open("user://save.json", FileAccess.READ)
var content_text: Dictionary = JSON.parse_string(data.get_as_text())
if content_text:
print("loaded: ",content_text)
return content_text
else:
print("Failed to parse JSON")
return {}
func write_save():
var sdata : FileAccess
sdata = FileAccess.open("user://save.json",FileAccess.WRITE)
var content = JSON.stringify(
{
"hiscore":$/root/Game/Gui/ScoreContainer.get_score()
}
)
print("saved: ",content)
sdata.store_string(content)
func init_save():
data = FileAccess.open("user://save.json", FileAccess.WRITE)
data.store_string(FileAccess.open("res://code/first_save.json", FileAccess.READ).get_as_text())
data.close()

View file

@ -1,13 +1,5 @@
extends Label extends Label
# Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
text = str($"/root/Global".hiscore) text = str($"/root/Global".hiscore)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
#func get_score():
# return int(text)

View file

@ -1,16 +1,17 @@
extends Node extends Node
func _ready() -> void: func _ready() -> void:
$Fade/FadeAnimation.play_backwards("fade") $Fade/Animation.play_backwards("fade")
$Screen/Background/Floor/EasterEggFixCollision.disabled = false $Screen/Background/Floor/EasterEggFixCollision.disabled = false
$Gui/HiscoreContainer.show() $Gui/HiscoreContainer.show()
%ScoreContainer.hide() %ScoreContainer.hide()
func start_game(): func start_game():
$Screen/Background/Floor/EasterEggFixCollision.disabled = true $Screen/Background/Floor/EasterEggFixCollision.disabled = true
$Screen/HindernissSpawner.del_all() $Screen/HurdleSpawner.del_all()
$Gui/EastereggSpawner.del_all() $Gui/EastereggSpawner.del_all()
$Screen/SpawnTimer.start() $Screen/SpawnTimer.start()
$Screen/CoinSpawnTimer.start()
$Screen/LevelUpTimer.start() $Screen/LevelUpTimer.start()
$Screen/Duck.start() $Screen/Duck.start()
$Gui/HiscoreContainer.hide() $Gui/HiscoreContainer.hide()

View file

@ -7,7 +7,7 @@ func _ready() -> void:
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void: func _process(_delta: float) -> void:
pass pass
func get_score(): func get_score():

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" export_filter="all_resources"
include_filter="" include_filter=""
exclude_filter="" exclude_filter=""
export_path="builds/DuckRun_v2.3.0.apk" export_path="builds/DuckRun_v2.3.1beta.apk"
encryption_include_filters="" encryption_include_filters=""
encryption_exclude_filters="" encryption_exclude_filters=""
encrypt_pck=false encrypt_pck=false
@ -42,7 +42,7 @@ package/exclude_from_recents=false
package/show_in_android_tv=false package/show_in_android_tv=false
package/show_in_app_library=true package/show_in_app_library=true
package/show_as_launcher_app=false 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_foreground_432x432="res://icon_android.png"
launcher_icons/adaptive_background_432x432="res://icon_bg.png" launcher_icons/adaptive_background_432x432="res://icon_bg.png"
graphics/opengl_debug=false 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" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://cgu1aek7px110" uid="uid://bkdglxxsrb2cd"
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
metadata={ metadata={
"vram_texture": false "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" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://cebhteowr70h0" uid="uid://cqjesxgupnh4m"
path="res://.godot/imported/icon_android.png-68be0b3737a0d9e979d0f2a1ecdab0d3.ctex" path="res://.godot/imported/icon_android.png-68be0b3737a0d9e979d0f2a1ecdab0d3.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

View file

@ -102,5 +102,6 @@ common/enable_pause_aware_picking=true
[rendering] [rendering]
textures/canvas_textures/default_texture_filter=0 textures/canvas_textures/default_texture_filter=0
renderer/rendering_method="mobile"
textures/vram_compression/import_etc2_astc=true textures/vram_compression/import_etc2_astc=true
environment/defaults/default_environment="res://default_env.tres" environment/defaults/default_environment="res://default_env.tres"

View file

@ -7,6 +7,9 @@ signal gameover
@onready var alive = true @onready var alive = true
var state = "main-menu" var state = "main-menu"
func _ready() -> void:
%Skin.change_to(0)
func die(): func die():
print("die") print("die")
gameover.emit() gameover.emit()
@ -26,7 +29,7 @@ func _physics_process(delta: float) -> void:
move_and_slide() move_and_slide()
func _process(_delta: float) -> void: func _process(_delta: float) -> void:
if position.x < 20 or position.y > 100: if global_position.x < 20 or global_position.y > 100:
if alive: if alive:
die() die()
@ -43,11 +46,6 @@ func _process(_delta: float) -> void:
else: else:
$AnimationPlayer.play("walk") $AnimationPlayer.play("walk")
func _collide_with_hindernis(_body: Node2D) -> void:
pass
#if alive:
# die()
func _color_slider_changed(value) -> void: func _color_slider_changed(value) -> void:
$EnteConstantSprite/EnteColormask.modulate.h = $"../../Gui/Settings/ColorSlider".value*0.01 $EnteConstantSprite/EnteColormask.modulate.h = $"../../Gui/Settings/ColorSlider".value*0.01
@ -55,3 +53,4 @@ func _color_slider_changed(value) -> void:
func _on_ente_sprite_frame_changed() -> void: func _on_ente_sprite_frame_changed() -> void:
$EnteConstantSprite/EnteColormask.frame = $EnteConstantSprite.frame $EnteConstantSprite/EnteColormask.frame = $EnteConstantSprite.frame
$EnteConstantSprite/Skin.frame = $EnteConstantSprite.frame

View file

@ -1,8 +1,10 @@
[gd_scene load_steps=12 format=3 uid="uid://8v5mbbnddorh"] [gd_scene load_steps=14 format=3 uid="uid://8v5mbbnddorh"]
[ext_resource type="Texture2D" uid="uid://dc6grg2oaq3a6" path="res://scenes/Duck/ente.png" id="1"] [ext_resource type="Texture2D" uid="uid://dc6grg2oaq3a6" path="res://scenes/Duck/ente.png" id="1"]
[ext_resource type="Script" path="res://scenes/Duck/Duck.gd" id="1_pvotk"] [ext_resource type="Script" path="res://scenes/Duck/Duck.gd" id="1_pvotk"]
[ext_resource type="Texture2D" uid="uid://dsifqpp5l00cr" path="res://scenes/Duck/ente_colormask.png" id="3_a4v8w"] [ext_resource type="Texture2D" uid="uid://dsifqpp5l00cr" path="res://scenes/Duck/ente_colormask.png" id="3_a4v8w"]
[ext_resource type="Texture2D" uid="uid://c1mq2xs0uuoxu" path="res://scenes/Duck/customs/1.png" id="4_acy8u"]
[ext_resource type="Script" path="res://scenes/Duck/skin.gd" id="4_gc1nf"]
[sub_resource type="Animation" id="5"] [sub_resource type="Animation" id="5"]
length = 0.001 length = 0.001
@ -113,8 +115,9 @@ libraries = {
[node name="EnteConstantSprite" type="Sprite2D" parent="."] [node name="EnteConstantSprite" type="Sprite2D" parent="."]
texture_filter = 3 texture_filter = 3
position = Vector2(0, -7) position = Vector2(-8, -16)
texture = ExtResource("1") texture = ExtResource("1")
centered = false
hframes = 3 hframes = 3
vframes = 2 vframes = 2
frame = 4 frame = 4
@ -122,9 +125,18 @@ frame = 4
[node name="EnteColormask" type="Sprite2D" parent="EnteConstantSprite"] [node name="EnteColormask" type="Sprite2D" parent="EnteConstantSprite"]
modulate = Color(1, 1, 0, 1) modulate = Color(1, 1, 0, 1)
texture = ExtResource("3_a4v8w") texture = ExtResource("3_a4v8w")
centered = false
hframes = 3 hframes = 3
vframes = 2 vframes = 2
[node name="Skin" type="Sprite2D" parent="EnteConstantSprite"]
unique_name_in_owner = true
texture = ExtResource("4_acy8u")
centered = false
hframes = 3
vframes = 2
script = ExtResource("4_gc1nf")
[node name="physicsbox" type="CollisionShape2D" parent="."] [node name="physicsbox" type="CollisionShape2D" parent="."]
position = Vector2(2.38419e-07, -6) position = Vector2(2.38419e-07, -6)
scale = Vector2(5, 5) scale = Vector2(5, 5)

BIN
scenes/Duck/customs/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ce0vevqn8ato7"
path="res://.godot/imported/0.png-940815318ee3975aa08c57ce3dd29bc8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/Duck/customs/0.png"
dest_files=["res://.godot/imported/0.png-940815318ee3975aa08c57ce3dd29bc8.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=1
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

BIN
scenes/Duck/customs/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1mq2xs0uuoxu"
path="res://.godot/imported/1.png-db9f6a2a43cc52b4b34f318375c7f5a7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/Duck/customs/1.png"
dest_files=["res://.godot/imported/1.png-db9f6a2a43cc52b4b34f318375c7f5a7.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=1
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

BIN
scenes/Duck/customs/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgs3hrxrrslip"
path="res://.godot/imported/2.png-e7ef44db5e8ec5954a8c29fb6584d647.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/Duck/customs/2.png"
dest_files=["res://.godot/imported/2.png-e7ef44db5e8ec5954a8c29fb6584d647.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

BIN
scenes/Duck/customs/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bs7mitmimjd4d"
path="res://.godot/imported/3.png-c65c606fbe3fd8bad5ef424c13f9ca84.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/Duck/customs/3.png"
dest_files=["res://.godot/imported/3.png-c65c606fbe3fd8bad5ef424c13f9ca84.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.

5
scenes/Duck/skin.gd Normal file
View file

@ -0,0 +1,5 @@
extends Sprite2D
func change_to(custom_number:int):
texture = load("res://scenes/Duck/customs/{s}.png".format({"s":str(custom_number)}))

View file

@ -1,251 +1,102 @@
[gd_scene load_steps=41 format=3 uid="uid://bb5qp5868y5i"] [gd_scene load_steps=51 format=3 uid="uid://bb5qp5868y5i"]
[ext_resource type="Script" path="res://code/main.gd" id="1_ar2ah"] [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="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="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/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="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/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="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="FontFile" uid="uid://ddvhypxkj8a1b" path="res://Megamichisfont-small.otf" id="13_666gv"]
[ext_resource type="Texture2D" uid="uid://cfmflpkl335e3" path="res://assets/GUI/schild.png" id="13_yjq5c"]
[ext_resource type="Script" path="res://code/hiscore.gd" id="14_ah063"] [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="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://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://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://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="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://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://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="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"] [ext_resource type="Script" path="res://code/GUI/startschild.gd" id="21_owbcl"]
[ext_resource type="Script" path="res://code/GUI/restartschild.gd" id="21_ytgei"]
[ext_resource type="AudioStream" uid="uid://c4wrtvywao1jn" path="res://assets/audio/duckrun.wav" id="22_ijpe0"] [ext_resource type="AudioStream" uid="uid://c4wrtvywao1jn" path="res://assets/audio/duckrun.wav" id="22_ijpe0"]
[ext_resource type="Texture2D" uid="uid://d2i2d0rmdtklc" path="res://assets/GUI/start button.png" id="22_x686b"] [ext_resource type="Texture2D" uid="uid://d2i2d0rmdtklc" path="res://assets/GUI/start button.png" id="22_x686b"]
[ext_resource type="Texture2D" uid="uid://dqvnnd3o1eele" path="res://assets/GUI/settings button.png" id="23_on2gf"] [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="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="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"]
[ext_resource type="PackedScene" uid="uid://dm307sj4nenjt" path="res://scenes/ui/animation.tscn" id="30_30gpa"]
[ext_resource type="PackedScene" uid="uid://yiu5npbi008a" path="res://scenes/ui/animation_logo.tscn" id="31_ugbfy"]
[sub_resource type="Animation" id="Animation_yef6t"] [sub_resource type="GDScript" id="GDScript_xq7jv"]
resource_name = "fade" script/source = "extends ColorRect
length = 0.1
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.1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)]
}
[sub_resource type="Animation" id="Animation_28fei"]
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
visible = true
"
[sub_resource type="Animation" id="Animation_0cnuw"]
length = 0.001 length = 0.001
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/path = NodePath(".:color") tracks/0/path = NodePath(".:modulate")
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"),
"fade": SubResource("Animation_yef6t")
}
[sub_resource type="Animation" id="Animation_4fx6d"]
resource_name = "Fade"
length = 0.45
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("..:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.4),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)]
}
[sub_resource type="Animation" id="Animation_j0xom"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("..:modulate")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"update": 0, "update": 0,
"values": [Color(1, 1, 1, 1)] "values": [Color(1, 1, 1, 0)]
} }
[sub_resource type="Animation" id="Animation_otim5"] [sub_resource type="Animation" id="Animation_tt0ob"]
resource_name = "change_time" resource_name = "fade"
length = 3.0 length = 0.3
step = 0.1
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/path = NodePath(".:color") tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 2.8), "times": PackedFloat32Array(0, 0.3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(0.162512, 0.669077, 0.79808, 1), Color(0.0375358, 0.131849, 0.373243, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("..:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(0.493545, 0.493546, 0.493546, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Background/Stars:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 3),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
} }
[sub_resource type="Animation" id="Animation_7cwe6"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_qrakk"]
resource_name = "change_timeold"
length = 6.0
step = 0.25
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("..:modulate:r")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(1, -0.5, 0, 1, 0, 0.6, -1, 0, 0.5, 0),
"times": PackedFloat32Array(0, 6)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("..:modulate:g")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(1, -0.5, 0, 1, 0, 0.6, -1, 0, 0.5, 0),
"times": PackedFloat32Array(0, 6)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("..:modulate:b")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(1, -0.5, 0, 1, 0, 0.6, -1, 0, 0.5, 0),
"times": PackedFloat32Array(0, 6)
}
tracks/3/type = "bezier"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath(".:color:r")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0.560784, -0.25, 0, 0.25, 0, 0.1, -0.5, 0, 0.25, 0),
"times": PackedFloat32Array(0, 6)
}
tracks/4/type = "bezier"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".:color:g")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0.937255, -0.25, 0, 0.25, 0, 0.1, -0.5, 0, 0.25, 0),
"times": PackedFloat32Array(0, 6)
}
tracks/5/type = "bezier"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath(".:color:b")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0.937255, -0.25, 0, 0.25, 0, 0.3, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 6)
}
tracks/6/type = "bezier"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../Background/Stars:modulate:a")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0, -0.25, 0, 1, 0, 1, -1, 0, 0.25, 0),
"times": PackedFloat32Array(0, 6)
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_c30x0"]
_data = { _data = {
"Fade": SubResource("Animation_4fx6d"), "RESET": SubResource("Animation_0cnuw"),
"RESET": SubResource("Animation_j0xom"), "fade": SubResource("Animation_tt0ob")
"change_time": SubResource("Animation_otim5"),
"change_timeold": SubResource("Animation_7cwe6")
} }
[sub_resource type="GDScript" id="GDScript_rkc4w"] [sub_resource type="GDScript" id="GDScript_rkc4w"]
script/source = "extends Timer script/source = "extends Timer
var day = true var day = true
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _change_time() -> void: func _change_time() -> void:
if day: if day:
$\"../AnimationPlayer\".play(\"change_time\") $\"../AnimationPlayer\".play(\"change_time\")
print(\"playing\")
day = not day day = not day
else: else:
$\"../AnimationPlayer\".play_backwards(\"change_time\") $\"../AnimationPlayer\".play_backwards(\"change_time\")
print(\"playing r\")
day = not day day = not day
" "
@ -256,6 +107,78 @@ size = Vector2(2, 9.75)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_0a3yj"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_0a3yj"]
size = Vector2(356.5, 8) size = Vector2(356.5, 8)
[sub_resource type="Animation" id="Animation_plyvn"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../Fade:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("BackgroundColor:color")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0.160784, 0.670588, 0.8, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_8pa57"]
resource_name = "change_time"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("BackgroundColor:color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(0.160784, 0.670588, 0.8, 1), Color(0.086, 0.0917334, 0.43, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(0.470075, 0.470076, 0.470076, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_t75gq"]
_data = {
"RESET": SubResource("Animation_plyvn"),
"change_time": SubResource("Animation_8pa57")
}
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jin1w"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jin1w"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_g0rdc"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_g0rdc"]
@ -274,7 +197,7 @@ anti_aliasing = false
[sub_resource type="Theme" id="Theme_fcgbk"] [sub_resource type="Theme" id="Theme_fcgbk"]
HSlider/icons/grabber = ExtResource("18_u2no7") 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 = SubResource("StyleBoxEmpty_jin1w")
HSlider/styles/grabber_area_highlight = SubResource("StyleBoxEmpty_g0rdc") HSlider/styles/grabber_area_highlight = SubResource("StyleBoxEmpty_g0rdc")
HSlider/styles/slider = SubResource("StyleBoxFlat_xb3tf") HSlider/styles/slider = SubResource("StyleBoxFlat_xb3tf")
@ -282,32 +205,38 @@ HSlider/styles/slider = SubResource("StyleBoxFlat_xb3tf")
[node name="Game" type="Node"] [node name="Game" type="Node"]
script = ExtResource("1_ar2ah") script = ExtResource("1_ar2ah")
[node name="Fade" type="CanvasModulate" parent="."] [node name="Fade" type="ColorRect" parent="."]
modulate = Color(1, 1, 1, 0)
z_index = 1
z_as_relative = false
offset_top = -9.0
offset_right = 485.0
offset_bottom = 300.0
mouse_filter = 2
color = Color(0, 0, 0, 1)
script = SubResource("GDScript_xq7jv")
metadata/_edit_lock_ = true
[node name="FadeAnimation" type="AnimationPlayer" parent="Fade"] [node name="Animation" type="AnimationPlayer" parent="Fade"]
unique_name_in_owner = true
libraries = { libraries = {
"": SubResource("AnimationLibrary_s1fwp") "": SubResource("AnimationLibrary_qrakk")
} }
[node name="Screen" type="Node2D" parent="."] [node name="Screen" type="Node2D" parent="."]
script = ExtResource("2_cix0i")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Screen"] [node name="BackgroundColor" type="ColorRect" parent="Screen"]
root_node = NodePath("../BackgroundRect") offset_left = -10.0
libraries = { offset_top = -9.0
"": SubResource("AnimationLibrary_c30x0") offset_right = 561.0
} offset_bottom = 111.0
color = Color(0.160784, 0.670588, 0.8, 1)
[node name="Day-NightTimer" type="Timer" parent="Screen"] [node name="Day-NightTimer" type="Timer" parent="Screen"]
wait_time = 12.0 wait_time = 15.0
autostart = true autostart = true
script = SubResource("GDScript_rkc4w") 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="Background" type="Node2D" parent="Screen"]
[node name="Stars" type="Sprite2D" parent="Screen/Background"] [node name="Stars" type="Sprite2D" parent="Screen/Background"]
@ -340,11 +269,16 @@ position = Vector2(178.25, 96)
shape = SubResource("RectangleShape2D_0a3yj") shape = SubResource("RectangleShape2D_0a3yj")
[node name="Duck" parent="Screen" instance=ExtResource("2")] [node name="Duck" parent="Screen" instance=ExtResource("2")]
position = Vector2(21, 91) position = Vector2(25, 52)
[node name="HindernissSpawner" type="Marker2D" parent="Screen"] [node name="CoinSpawner" type="Marker2D" parent="Screen"]
position = Vector2(485, 80)
script = ExtResource("8_7ggb5")
[node name="HurdleSpawner" type="Marker2D" parent="Screen"]
position = Vector2(485, 92) position = Vector2(485, 92)
script = ExtResource("4_oc6me") script = ExtResource("4_oc6me")
metadata/_edit_lock_ = true
[node name="LevelUpTimer" type="Timer" parent="Screen"] [node name="LevelUpTimer" type="Timer" parent="Screen"]
wait_time = 5.0 wait_time = 5.0
@ -352,6 +286,16 @@ wait_time = 5.0
[node name="SpawnTimer" type="Timer" parent="Screen"] [node name="SpawnTimer" type="Timer" parent="Screen"]
wait_time = 1.6 wait_time = 1.6
[node name="CoinSpawnTimer" type="Timer" parent="Screen"]
wait_time = 1.6
[node name="partices" type="Node2D" parent="Screen"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="Screen"]
libraries = {
"": SubResource("AnimationLibrary_t75gq")
}
[node name="Gui" type="Control" parent="."] [node name="Gui" type="Control" parent="."]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
@ -386,14 +330,12 @@ theme_override_font_sizes/font_size = 8
text = "0" text = "0"
script = ExtResource("14_ah063") script = ExtResource("14_ah063")
[node name="Settings" parent="Gui" instance=ExtResource("15_1xp2x")] [node name="Settings" type="TextureRect" parent="Gui"]
visible = false visible = false
layout_mode = 1 layout_mode = 1
anchors_preset = 1 anchors_preset = 1
anchor_left = 1.0 anchor_left = 1.0
anchor_top = 0.0
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 0.0
offset_left = -102.0 offset_left = -102.0
offset_top = -68.0 offset_top = -68.0
offset_right = -2.0 offset_right = -2.0
@ -401,33 +343,37 @@ offset_bottom = 82.0
grow_horizontal = 0 grow_horizontal = 0
size_flags_horizontal = 8 size_flags_horizontal = 8
size_flags_vertical = 4 size_flags_vertical = 4
texture = ExtResource("13_yjq5c")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("16_4ssry") script = ExtResource("16_4ssry")
[node name="BackButton" type="TextureButton" parent="Gui/Settings"] [node name="BackButton" type="TextureButton" parent="Gui/Settings"]
layout_mode = 1 layout_mode = 1
offset_left = 2.0 offset_left = 4.0
offset_top = 79.0 offset_top = 81.0
offset_right = 17.0 offset_right = 19.0
offset_bottom = 94.0 offset_bottom = 96.0
focus_neighbor_bottom = NodePath("../ColorSlider")
focus_next = NodePath("../ColorSlider")
texture_normal = ExtResource("17_3kek5") texture_normal = ExtResource("17_3kek5")
texture_focused = ExtResource("15_2rflk")
[node name="ColorLabel" type="Label" parent="Gui/Settings"] [node name="ColorLabel" type="Label" parent="Gui/Settings"]
layout_mode = 0 layout_mode = 0
offset_left = 5.0 offset_left = 5.0
offset_top = 98.0 offset_top = 106.0
offset_right = 62.0 offset_right = 62.0
offset_bottom = 115.0 offset_bottom = 123.0
theme_override_fonts/font = ExtResource("13_666gv") theme_override_fonts/font = ExtResource("13_666gv")
theme_override_font_sizes/font_size = 8 theme_override_font_sizes/font_size = 8
text = "Color" text = "Duck Color:"
[node name="VolumeLabel" type="Label" parent="Gui/Settings"] [node name="VolumeLabel" type="Label" parent="Gui/Settings"]
layout_mode = 0 layout_mode = 0
offset_left = 5.0 offset_left = 5.0
offset_top = 127.0 offset_top = 126.0
offset_right = 45.0 offset_right = 45.0
offset_bottom = 150.0 offset_bottom = 149.0
theme_override_fonts/font = ExtResource("13_666gv") theme_override_fonts/font = ExtResource("13_666gv")
theme_override_font_sizes/font_size = 8 theme_override_font_sizes/font_size = 8
text = "Music:" text = "Music:"
@ -437,10 +383,14 @@ layout_mode = 1
anchors_preset = -1 anchors_preset = -1
anchor_right = 0.699 anchor_right = 0.699
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = 32.0 offset_left = 5.0
offset_top = 93.0 offset_top = 110.0
offset_right = 26.1 offset_right = 25.1
offset_bottom = 34.0 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") theme = SubResource("Theme_fcgbk")
value = 17.0 value = 17.0
allow_greater = true allow_greater = true
@ -452,9 +402,14 @@ anchors_preset = -1
anchor_right = 0.699 anchor_right = 0.699
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = 5.0 offset_left = 5.0
offset_top = 131.0 offset_top = 130.0
offset_right = 12.1 offset_right = 11.1
offset_bottom = 72.0 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") theme = SubResource("Theme_fcgbk")
value = 20.0 value = 20.0
allow_greater = true allow_greater = true
@ -467,16 +422,20 @@ anchor_left = 1.0
anchor_top = 1.0 anchor_top = 1.0
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_left = -18.0 offset_left = -19.0
offset_top = -18.05 offset_top = -19.0
offset_right = -3.0 offset_right = -4.0
offset_bottom = 2.0 offset_bottom = 1.05
grow_horizontal = 0 grow_horizontal = 0
grow_vertical = 0 grow_vertical = 0
toggle_mode = true toggle_mode = true
texture_normal = ExtResource("19_vwek8") texture_normal = ExtResource("19_vwek8")
texture_focused = ExtResource("18_ahbxs")
[node name="GameOverSchild" parent="Gui" instance=ExtResource("15_1xp2x")] [node name="AnimationPlayer" parent="Gui/Settings" instance=ExtResource("30_30gpa")]
[node name="GameOverSchild" type="TextureRect" parent="Gui"]
visible = false
layout_mode = 1 layout_mode = 1
anchors_preset = 8 anchors_preset = 8
anchor_left = 0.5 anchor_left = 0.5
@ -489,8 +448,11 @@ offset_right = 49.0
offset_bottom = 34.0 offset_bottom = 34.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
size_flags_horizontal = 4
size_flags_vertical = 4 size_flags_vertical = 4
texture = ExtResource("13_yjq5c")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("21_ytgei")
[node name="Restart" type="TextureButton" parent="Gui/GameOverSchild"] [node name="Restart" type="TextureButton" parent="Gui/GameOverSchild"]
texture_repeat = 2 texture_repeat = 2
@ -506,7 +468,9 @@ offset_right = -8.0
offset_bottom = -8.3 offset_bottom = -8.3
scale = Vector2(3, 3) scale = Vector2(3, 3)
texture_normal = ExtResource("20_gdgit") texture_normal = ExtResource("20_gdgit")
texture_focused = ExtResource("20_5xtpj")
stretch_mode = 1 stretch_mode = 1
metadata/_edit_lock_ = true
[node name="back" type="TextureButton" parent="Gui/GameOverSchild"] [node name="back" type="TextureButton" parent="Gui/GameOverSchild"]
texture_repeat = 2 texture_repeat = 2
@ -516,27 +480,30 @@ anchor_left = 0.5
anchor_top = 0.762 anchor_top = 0.762
anchor_right = 0.5 anchor_right = 0.5
anchor_bottom = 0.762 anchor_bottom = 0.762
offset_left = -48.0 offset_left = -46.0
offset_top = -35.3 offset_top = -33.3
offset_right = -33.0 offset_right = -31.0
offset_bottom = -20.3 offset_bottom = -18.3
texture_normal = ExtResource("17_3kek5") texture_normal = ExtResource("17_3kek5")
texture_focused = ExtResource("15_2rflk")
[node name="StartSchild" parent="Gui" instance=ExtResource("15_1xp2x")] [node name="AnimationPlayer" parent="Gui/GameOverSchild" instance=ExtResource("30_30gpa")]
visible = false
[node name="StartSchild" type="TextureRect" parent="Gui"]
layout_mode = 1 layout_mode = 1
anchors_preset = 6 anchors_preset = 6
anchor_left = 1.0 anchor_left = 1.0
anchor_top = 0.5 anchor_top = 0.5
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = -101.0 offset_left = -100.0
offset_top = -114.0 offset_top = -117.0
offset_right = -1.0 offset_bottom = 33.0
offset_bottom = 36.0
grow_horizontal = 0 grow_horizontal = 0
grow_vertical = 2 grow_vertical = 2
size_flags_horizontal = 4
size_flags_vertical = 4 size_flags_vertical = 4
texture = ExtResource("13_yjq5c")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("21_owbcl") script = ExtResource("21_owbcl")
@ -555,7 +522,10 @@ offset_bottom = -8.55
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
scale = Vector2(3, 3) scale = Vector2(3, 3)
focus_neighbor_left = NodePath("../Settings")
focus_previous = NodePath("../Settings")
texture_normal = ExtResource("22_x686b") texture_normal = ExtResource("22_x686b")
texture_focused = ExtResource("20_i5ekl")
stretch_mode = 1 stretch_mode = 1
[node name="Settings" type="TextureButton" parent="Gui/StartSchild"] [node name="Settings" type="TextureButton" parent="Gui/StartSchild"]
@ -573,27 +543,32 @@ offset_bottom = -8.55
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
scale = Vector2(3, 3) scale = Vector2(3, 3)
focus_neighbor_left = NodePath("../../StartSchildLogo")
focus_neighbor_right = NodePath("../Start")
focus_next = NodePath("../Start")
focus_previous = NodePath("../../StartSchildLogo")
texture_normal = ExtResource("23_on2gf") texture_normal = ExtResource("23_on2gf")
texture_focused = ExtResource("25_bjwbg")
stretch_mode = 1 stretch_mode = 1
[node name="Logo" type="TextureButton" parent="Gui/StartSchild"] [node name="AnimationPlayer" parent="Gui/StartSchild" instance=ExtResource("30_30gpa")]
layout_mode = 1
anchors_preset = 3 [node name="StartSchildLogo" type="TextureButton" parent="Gui"]
anchor_left = 1.0 layout_direction = 1
anchor_top = 1.0 layout_mode = 0
anchor_right = 1.0 offset_left = -7.0
anchor_bottom = 1.0 offset_top = 44.0
offset_left = -177.0 offset_right = 121.0
offset_top = -38.0 offset_bottom = 73.0
offset_right = -49.0
offset_bottom = -9.0
grow_horizontal = 0
grow_vertical = 0
rotation = -0.413643 rotation = -0.413643
size_flags_horizontal = 4 size_flags_horizontal = 4
size_flags_vertical = 4 size_flags_vertical = 4
focus_neighbor_right = NodePath("../StartSchild/Settings")
focus_next = NodePath("../StartSchild/Settings")
texture_normal = ExtResource("24_8b8my") texture_normal = ExtResource("24_8b8my")
[node name="AnimationPlayer" parent="Gui/StartSchildLogo" instance=ExtResource("31_ugbfy")]
[node name="ScoreContainer" type="HBoxContainer" parent="Gui"] [node name="ScoreContainer" type="HBoxContainer" parent="Gui"]
unique_name_in_owner = true unique_name_in_owner = true
layout_mode = 1 layout_mode = 1
@ -646,8 +621,10 @@ bus = &"Background"
[connection signal="timeout" from="Screen/Background/WolkenSpawner/WolkenTimer" to="Screen/Background/WolkenSpawner" method="_spawn"] [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="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="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/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="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/ColorSlider" to="Screen/Duck" method="_color_slider_changed"]
[connection signal="value_changed" from="Gui/Settings/VolumeSlider" to="Gui/Settings" method="_volume_slider_changed"] [connection signal="value_changed" from="Gui/Settings/VolumeSlider" to="Gui/Settings" method="_volume_slider_changed"]
@ -656,5 +633,5 @@ bus = &"Background"
[connection signal="pressed" from="Gui/GameOverSchild/back" to="Gui/GameOverSchild" method="_on_back_pressed"] [connection signal="pressed" from="Gui/GameOverSchild/back" to="Gui/GameOverSchild" method="_on_back_pressed"]
[connection signal="pressed" from="Gui/StartSchild/Start" to="Gui/StartSchild" method="_on_start_pressed"] [connection signal="pressed" from="Gui/StartSchild/Start" to="Gui/StartSchild" method="_on_start_pressed"]
[connection signal="pressed" from="Gui/StartSchild/Settings" to="Gui/StartSchild" method="_on_settings_pressed"] [connection signal="pressed" from="Gui/StartSchild/Settings" to="Gui/StartSchild" method="_on_settings_pressed"]
[connection signal="pressed" from="Gui/StartSchild/Logo" to="Gui/EastereggSpawner" method="_spawn"] [connection signal="pressed" from="Gui/StartSchildLogo" to="Gui/EastereggSpawner" method="_spawn"]
[connection signal="timeout" from="Gui/ScoreContainer/score/ScoreCounter" to="." method="_score"] [connection signal="timeout" from="Gui/ScoreContainer/score/ScoreCounter" to="." method="_score"]

View file

@ -8,3 +8,7 @@ texture_filter = 1
texture = ExtResource("1_c6lhp") texture = ExtResource("1_c6lhp")
hframes = 5 hframes = 5
script = ExtResource("2_tsh5n") script = ExtResource("2_tsh5n")
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"]

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

@ -0,0 +1,22 @@
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":
#print("duck touched")
$AnimationPlayer.play("explode")
#await await $AnimationPlayer.animation_finished
##queue_free()
#print("animation finisched")
# add coin
if body.name == "hurdle":
pass#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

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

@ -0,0 +1,174 @@
[gd_scene load_steps=13 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)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = false
tracks/2/path = NodePath("GPUParticles2D:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sprite:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
[sub_resource type="Animation" id="Animation_6xqsk"]
resource_name = "explode"
length = 0.2
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.01, 0.2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GPUParticles2D:emitting")
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("Sprite:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -12)]
}
[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="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
[sub_resource type="Gradient" id="Gradient_b4fpo"]
offsets = PackedFloat32Array(0, 0.321839, 1)
colors = PackedColorArray(1, 0.921828, 0.423545, 1, 0.98436, 0.850996, 0, 1, 0.79237, 0.68246, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_sasf4"]
gradient = SubResource("Gradient_b4fpo")
[sub_resource type="Curve" id="Curve_01enh"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -2.83732, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_1vf08"]
curve = SubResource("Curve_01enh")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_bv68t"]
particle_flag_disable_z = true
spread = 180.0
initial_velocity_min = 15.0
initial_velocity_max = 30.0
gravity = Vector3(0, 0, 0)
scale_max = 3.0
scale_curve = SubResource("CurveTexture_1vf08")
color_initial_ramp = SubResource("GradientTexture1D_sasf4")
[node name="Coin" type="Area2D"]
position = Vector2(3, 3)
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")
[node name="GPUParticles2D" type="GPUParticles2D" parent="."]
visible = false
emitting = false
amount = 9
process_material = SubResource("ParticleProcessMaterial_bv68t")
lifetime = 0.5
explosiveness = 1.0
[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)*14
$"../CoinSpawnTimer".wait_time = randf_range(v1,v2)
add_child(coin)
func del_all():
for child in get_children():
child.queue_free()

View file

@ -1,12 +1,5 @@
extends RigidBody2D extends RigidBody2D
# Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
$Sprite.frame = randi_range(0,12) $Sprite.frame = randi_range(0,12)
position.x += randi_range(-10,10) position.x += randi_range(-10,10)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://co76l7v0x2t8t"] [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="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"] [sub_resource type="CircleShape2D" id="CircleShape2D_ruej1"]
radius = 8.06226 radius = 8.06226
@ -10,14 +10,20 @@ radius = 8.06226
script = ExtResource("1_3dnpr") script = ExtResource("1_3dnpr")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -7) position = Vector2(8, 9)
shape = SubResource("CircleShape2D_ruej1") shape = SubResource("CircleShape2D_ruej1")
[node name="Sprite" type="Sprite2D" parent="."] [node name="Sprite" type="Sprite2D" parent="."]
texture_filter = 1 texture_filter = 1
position = Vector2(0, -7)
texture = ExtResource("1_al4up") texture = ExtResource("1_al4up")
offset = Vector2(0, 0.5) centered = false
hframes = 5 hframes = 5
vframes = 3 vframes = 3
frame = 3 frame = 1
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
position = Vector2(1, 1)
rect = Rect2(0, 0, 14, 14)
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"]
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_screen_exited"]

View file

@ -7,8 +7,9 @@ var speed: float
func _ready() -> void: func _ready() -> void:
pass pass
func _physics_process(delta: float) -> void: func _process(delta: float) -> void:
if $"/root/Global".gamerunning: if $"/root/Global".gamerunning:
print("ahhhh")
global_position.x -= $"/root/Global".speed*delta global_position.x -= $"/root/Global".speed*delta

View file

@ -7,7 +7,7 @@ func _ready() -> void:
func _spawn() -> 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 speed = $"/root/Global".speed
hindernis.speed = speed hindernis.speed = speed

View file

@ -15,5 +15,3 @@ func _ready() -> void:
func _process(delta: float) -> void: func _process(delta: float) -> void:
speed = $"/root/Global".speed speed = $"/root/Global".speed
global_position.x -= speed*delta global_position.x -= speed*delta
if global_position.x < -30:
queue_free()

View file

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -3,15 +3,15 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bp48x77dixrme" uid="uid://bp48x77dixrme"
path="res://.godot/imported/hindernisse.png-2e17c6b239dd45768c8c51c61d217402.ctex" path="res://.godot/imported/hurdle.png-68dde4d9f095a6d006bd2c90c4279ac6.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://scenes/hindernis/hindernisse.png" source_file="res://scenes/hurdle/hurdle.png"
dest_files=["res://.godot/imported/hindernisse.png-2e17c6b239dd45768c8c51c61d217402.ctex"] dest_files=["res://.godot/imported/hurdle.png-68dde4d9f095a6d006bd2c90c4279ac6.ctex"]
[params] [params]

View file

@ -1,32 +1,32 @@
[gd_scene load_steps=5 format=3 uid="uid://cp43g3amm8a6f"] [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="Script" path="res://scenes/hurdle/hurdle.gd" id="1_e0hqe"]
[ext_resource type="Texture2D" uid="uid://bp48x77dixrme" path="res://scenes/hindernis/hindernisse.png" id="2_thg8w"] [ext_resource type="Texture2D" uid="uid://bp48x77dixrme" path="res://scenes/hurdle/hurdle.png" id="2_thg8w"]
[sub_resource type="CircleShape2D" id="CircleShape2D_orpyb"] [sub_resource type="CircleShape2D" id="CircleShape2D_orpyb"]
radius = 5.0 radius = 5.0
[sub_resource type="CircleShape2D" id="CircleShape2D_r1tmj"] [sub_resource type="CircleShape2D" id="CircleShape2D_r1tmj"]
radius = 5.0 radius = 6.0
[node name="CharacterBody2D" type="CharacterBody2D"] [node name="hurdle" type="CharacterBody2D"]
collision_layer = 3 collision_layer = 3
collision_mask = 3 collision_mask = 3
script = ExtResource("1_e0hqe") script = ExtResource("1_e0hqe")
[node name="Sprite" type="Sprite2D" parent="."] [node name="Sprite" type="Sprite2D" parent="."]
texture_filter = 1 texture_filter = 1
position = Vector2(0, -8) position = Vector2(-8, -15)
texture = ExtResource("2_thg8w") texture = ExtResource("2_thg8w")
offset = Vector2(0, 0.5) centered = false
hframes = 5 hframes = 5
vframes = 3 vframes = 3
frame = 14 frame = 8
region_enabled = true region_enabled = true
region_rect = Rect2(0, 0, 80, 48) region_rect = Rect2(0, 0, 80, 48)
[node name="collision" type="CollisionShape2D" parent="."] [node name="collision" type="CollisionShape2D" parent="."]
position = Vector2(0, -7) position = Vector2(0, -5)
shape = SubResource("CircleShape2D_orpyb") shape = SubResource("CircleShape2D_orpyb")
[node name="Area2D" type="Area2D" parent="."] [node name="Area2D" type="Area2D" parent="."]
@ -35,5 +35,12 @@ collision_layer = 3
collision_mask = 3 collision_mask = 3
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(0, 1)
shape = SubResource("CircleShape2D_r1tmj") shape = SubResource("CircleShape2D_r1tmj")
debug_color = Color(0.906661, 0.254677, 0.42413, 0.42) debug_color = Color(0.906661, 0.254677, 0.42413, 0.42)
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
position = Vector2(3, -4)
rect = Rect2(-10, -10, 14, 14)
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"]

12
scenes/ui/animation.gd Normal file
View file

@ -0,0 +1,12 @@
extends AnimationPlayer
func pop_in():
play_backwards("out-in")
$"../../../Audio/Gui-in".play()
get_parent().show()
func pop_out():
play("out-in")
$"../../../Audio/Gui-out".play()
await animation_finished
get_parent().hide()

View file

@ -1,7 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://dm307sj4nenjt"] [gd_scene load_steps=5 format=3 uid="uid://dm307sj4nenjt"]
[ext_resource type="Texture2D" uid="uid://cfmflpkl335e3" path="res://assets/GUI/schild.png" id="1_wyhk0"] [ext_resource type="Script" path="res://scenes/ui/animation.gd" id="1_43757"]
[ext_resource type="Script" path="res://code/GUI/restartschild.gd" id="2_pxsow"]
[sub_resource type="Animation" id="Animation_hmob6"] [sub_resource type="Animation" id="Animation_hmob6"]
length = 0.001 length = 0.001
@ -17,7 +16,7 @@ tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0, 0), "handle_modes": PackedInt32Array(0, 0, 0),
"points": PackedFloat32Array(-67, -0.25, 0, 0.0666667, 0.981804, -56.456, -0.1, -0.683014, 0.0666667, 1.36603, -250, -0.133333, -1.11485, 0.15, 0), "points": PackedFloat32Array(-67, -0.25, 0, 0.0666667, 0.981804, -56, -0.1, -0.683014, 0.0666667, 1.36603, -250, -0.133333, -1.11485, 0.15, 0),
"times": PackedFloat32Array(0, 0.133333, 0.5) "times": PackedFloat32Array(0, 0.133333, 0.5)
} }
@ -27,21 +26,8 @@ _data = {
"out-in": SubResource("Animation_wgvxk") "out-in": SubResource("Animation_wgvxk")
} }
[node name="Schild" type="TextureRect"] [node name="AnimationPlayer" type="AnimationPlayer"]
anchors_preset = -1
anchor_left = -0.259
anchor_top = 0.14
anchor_right = 0.282
anchor_bottom = 0.79
offset_left = -3.97
offset_top = -81.0
offset_right = 4.06
offset_bottom = 4.0
size_flags_horizontal = 4
texture = ExtResource("1_wyhk0")
script = ExtResource("2_pxsow")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = { libraries = {
"": SubResource("AnimationLibrary_ur3ij") "": SubResource("AnimationLibrary_ur3ij")
} }
script = ExtResource("1_43757")

View file

@ -0,0 +1,15 @@
[gd_scene load_steps=4 format=3 uid="uid://yiu5npbi008a"]
[ext_resource type="Animation" uid="uid://dvpvbkqok645q" path="res://scenes/ui/out-in.res" id="1_mcm38"]
[ext_resource type="Script" path="res://scenes/ui/animation.gd" id="1_urjt6"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_u5u2i"]
_data = {
"out-in": ExtResource("1_mcm38")
}
[node name="AnimationPlayer" type="AnimationPlayer"]
libraries = {
"": SubResource("AnimationLibrary_u5u2i")
}
script = ExtResource("1_urjt6")

BIN
scenes/ui/out-in.res Normal file

Binary file not shown.