git init
2
.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# Normalize EOL for all files that Git considers text files.
|
||||||
|
* text=auto eol=lf
|
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# Godot 4+ specific ignores
|
||||||
|
.godot/
|
||||||
|
/android/
|
1
.import/.gdignore
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
3
.import/Ground.png-f08cade11b1b3e916f004372551e0865.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="64cf2426648afd816c13a28725bffb21"
|
||||||
|
dest_md5="31d5a434dac95782c436d6704c6c6ff7"
|
||||||
|
|
BIN
.import/Ground.png-f08cade11b1b3e916f004372551e0865.stex
Normal file
3
.import/apple.png-d0c5a0e024efc439723035186c67a74a.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="b77a2b521e0a2f4bf9777c6363dfe09b"
|
||||||
|
dest_md5="e685523e783e93aa05d163d80d90ca54"
|
||||||
|
|
BIN
.import/apple.png-d0c5a0e024efc439723035186c67a74a.stex
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="78c718e7fcc01998628b64c439d1aed6"
|
||||||
|
dest_md5="061d3735f177e7ad096f1b09ddab05b7"
|
||||||
|
|
BIN
.import/backgroud.png-0c17a3838adc64cd5e970e6266c96bbf.stex
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="26def96d27af5b87655bf2988030ca4d"
|
||||||
|
dest_md5="941d565bd3eaadcb55b377f49aaa34c8"
|
||||||
|
|
BIN
.import/background.png-1fdba8b6a966ce2c2ffc607f7c096e95.stex
Normal file
3
.import/can.png-da04a4d6c9b01daf73248c5d77db3a97.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="954467bb323fd837834693147e80e2eb"
|
||||||
|
dest_md5="0915f92f96a20ebc81540c096944fdff"
|
||||||
|
|
BIN
.import/can.png-da04a4d6c9b01daf73248c5d77db3a97.stex
Normal file
3
.import/eggs.png-c933069b461c232a515bdb6246726286.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="af7e72abeefc8dea578cc8090092ceb9"
|
||||||
|
dest_md5="8e0a76e8cbd439677a56e7d3975e14d9"
|
||||||
|
|
BIN
.import/eggs.png-c933069b461c232a515bdb6246726286.stex
Normal file
3
.import/ente.png-946c0fa2446c80d8efd5b365fa5ce2d5.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="34f710d33e87d5e1a87517e367b2c10e"
|
||||||
|
dest_md5="f1cf23e861bfc95add83650ffc7000b6"
|
||||||
|
|
BIN
.import/ente.png-946c0fa2446c80d8efd5b365fa5ce2d5.stex
Normal file
3
.import/ente.png-c2f6699793fef6bd0809e579dd2e4bb4.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="4520065e9d26d049c1e616379a2a14f0"
|
||||||
|
dest_md5="4616b4ba13621b00bffd7835e1b87804"
|
||||||
|
|
BIN
.import/ente.png-c2f6699793fef6bd0809e579dd2e4bb4.stex
Normal file
3
.import/grass.png-a207bda4a53e32c7645a41ec6d1c234e.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="ea398567b238c37fe05fd9d16d9ecbb7"
|
||||||
|
dest_md5="6f0a9828a6c255fe35d0fb769194c065"
|
||||||
|
|
BIN
.import/grass.png-a207bda4a53e32c7645a41ec6d1c234e.stex
Normal file
3
.import/ground.png-328d82a69941a655cdd4638d3455ed11.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="78b9e83c0a868bdd005f118bebeccb05"
|
||||||
|
dest_md5="505b96b61153c8254cea9e2ab747ba23"
|
||||||
|
|
BIN
.import/ground.png-328d82a69941a655cdd4638d3455ed11.stex
Normal file
3
.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="47313fa4c47a9963fddd764e1ec6e4a8"
|
||||||
|
dest_md5="26ea799ea0a3da9e753b3ebe822e0570"
|
||||||
|
|
BIN
.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex
Normal file
3
.import/stone.png-3a1875e621a1b764516a9ea0026422f2.md5
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="713cd5f07aa4a38aa3a8c0218f28661e"
|
||||||
|
dest_md5="e39aa21327c91bbd9fee55c049e4a70a"
|
||||||
|
|
BIN
.import/stone.png-3a1875e621a1b764516a9ea0026422f2.stex
Normal file
21
addons/godot-git-plugin/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2016-2023 The Godot Engine community
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
1349
addons/godot-git-plugin/THIRDPARTY.md
Normal file
12
addons/godot-git-plugin/git_plugin.gdextension
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[configuration]
|
||||||
|
|
||||||
|
entry_symbol = "git_plugin_init"
|
||||||
|
compatibility_minimum = "4.1.0"
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
|
||||||
|
macos.editor = "macos/libgit_plugin.macos.editor.universal.dylib"
|
||||||
|
windows.editor.x86_64 = "win64/libgit_plugin.windows.editor.x86_64.dll"
|
||||||
|
linux.editor.x86_64 = "linux/libgit_plugin.linux.editor.x86_64.so"
|
||||||
|
linux.editor.arm64 = "linux/libgit_plugin.linux.editor.arm64.so"
|
||||||
|
linux.editor.rv64 = ""
|
7
addons/godot-git-plugin/plugin.cfg
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[plugin]
|
||||||
|
|
||||||
|
name="Godot Git Plugin"
|
||||||
|
description="This plugin lets you interact with Git without leaving the Godot editor. More information can be found at https://github.com/godotengine/godot-git-plugin/wiki"
|
||||||
|
author="twaritwaikar"
|
||||||
|
version="v3.1.1"
|
||||||
|
script="godot-git-plugin.gd"
|
BIN
assets/GUI/logo.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
34
assets/GUI/logo.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bj7bgtdcbdald"
|
||||||
|
path="res://.godot/imported/logo.png-9e0752731fb3ccd9eb2168a14668dff5.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/GUI/logo.png"
|
||||||
|
dest_files=["res://.godot/imported/logo.png-9e0752731fb3ccd9eb2168a14668dff5.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
assets/GUI/restart button.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
34
assets/GUI/restart button.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://do0okfxenx2ci"
|
||||||
|
path="res://.godot/imported/restart button.png-7513f25cb6ebab489454ccd634b0b01c.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/GUI/restart button.png"
|
||||||
|
dest_files=["res://.godot/imported/restart button.png-7513f25cb6ebab489454ccd634b0b01c.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
assets/GUI/schild.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
34
assets/GUI/schild.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cfmflpkl335e3"
|
||||||
|
path="res://.godot/imported/schild.png-8e1e3e92f093b03eb8625bfeff3f7f11.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/GUI/schild.png"
|
||||||
|
dest_files=["res://.godot/imported/schild.png-8e1e3e92f093b03eb8625bfeff3f7f11.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
assets/GUI/start button.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
34
assets/GUI/start button.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://d2i2d0rmdtklc"
|
||||||
|
path="res://.godot/imported/start button.png-b349fb91b4bad0fa472b7263072d2f24.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/GUI/start button.png"
|
||||||
|
dest_files=["res://.godot/imported/start button.png-b349fb91b4bad0fa472b7263072d2f24.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
assets/Ground/background.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
34
assets/Ground/background.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bg78j6xxw3ck4"
|
||||||
|
path="res://.godot/imported/background.png-b4e7437f07894e7f253b684ff783fbd2.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/Ground/background.png"
|
||||||
|
dest_files=["res://.godot/imported/background.png-b4e7437f07894e7f253b684ff783fbd2.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
assets/Ground/ground.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
34
assets/Ground/ground.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bmklwmjrtynqo"
|
||||||
|
path="res://.godot/imported/ground.png-673271eeeb2d2777787f0fa18dd4ce4d.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/Ground/ground.png"
|
||||||
|
dest_files=["res://.godot/imported/ground.png-673271eeeb2d2777787f0fa18dd4ce4d.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
assets/Ground/stars.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
34
assets/Ground/stars.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dgfvf2ta4lc4e"
|
||||||
|
path="res://.godot/imported/stars.png-57bc8dc47b79b5d04d53ace720164aae.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/Ground/stars.png"
|
||||||
|
dest_files=["res://.godot/imported/stars.png-57bc8dc47b79b5d04d53ace720164aae.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
builds/DuckRun_v1.2.apk
Normal file
BIN
builds/DuckRun_v1.2.apk.idsig
Normal file
BIN
builds/DuckRun_v2.0.0.apk
Normal file
BIN
builds/DuckRun_v2.0.0.apk.idsig
Normal file
BIN
builds/DuckRun_v2.0.1.apk
Normal file
BIN
builds/DuckRun_v2.0.1.apk.idsig
Normal file
BIN
builds/DuckRun_v2.0.2.apk
Normal file
BIN
builds/DuckRun_v2.0.2.apk.idsig
Normal file
BIN
builds/DuckRun_v2.0.3.apk
Normal file
BIN
builds/DuckRun_v2.0.3.apk.idsig
Normal file
BIN
builds/DuckRun_v2.0.4.apk
Normal file
BIN
builds/DuckRun_v2.0.4.apk.idsig
Normal file
20
code/GUI/restartschild.gd
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
extends Sprite2D
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
global_position.y = -80
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
global_position.x = get_viewport().get_visible_rect().size.x * 0.5
|
||||||
|
|
||||||
|
func _on_duck_gameover() -> void:
|
||||||
|
$AnimationPlayer.play("in")
|
||||||
|
show()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_restart_pressed() -> void:
|
||||||
|
$"../..".start_game()
|
||||||
|
$AnimationPlayer.play("out")
|
||||||
|
await $AnimationPlayer.animation_finished
|
||||||
|
hide()
|
18
code/GUI/startschild.gd
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
extends Sprite2D
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
$AnimationPlayer.play("in")
|
||||||
|
show()
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
global_position.x = get_viewport().get_visible_rect().size.x -51
|
||||||
|
$Logo.global_position.x = 0
|
||||||
|
|
||||||
|
|
||||||
|
func _on_start_pressed() -> void:
|
||||||
|
$"../..".start_game()
|
||||||
|
$AnimationPlayer.play("out")
|
||||||
|
await $AnimationPlayer.animation_finished
|
||||||
|
hide()
|
10
code/global.gd
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
signal levelup
|
||||||
|
signal start
|
||||||
|
|
||||||
|
var maxspeed = 260
|
||||||
|
var speed = 100
|
||||||
|
var score = 0
|
||||||
|
var gamerunning = false
|
37
code/main.gd
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
$Screen/Background/Floor/EasterEggFixCollision.disabled = false
|
||||||
|
|
||||||
|
func start_game():
|
||||||
|
$Screen/Background/Floor/EasterEggFixCollision.disabled = true
|
||||||
|
$Screen/SpawnTimer.start()
|
||||||
|
$Screen/LevelUpTimer.start()
|
||||||
|
$Screen/Duck.start()
|
||||||
|
$Screen/HindernissSpawner.del_all()
|
||||||
|
$Screen/EastereggSpawner.del_all()
|
||||||
|
$"/root/Global".gamerunning = true
|
||||||
|
$"/root/Global".start.emit()
|
||||||
|
$"/root/Global".score = 0
|
||||||
|
$"/root/Global".speed = 100
|
||||||
|
|
||||||
|
func _on_level_up_timer_timeout() -> void:
|
||||||
|
if $"/root/Global".speed < $"/root/Global".maxspeed:
|
||||||
|
$"/root/Global".speed += 10
|
||||||
|
$"/root/Global".levelup.emit()
|
||||||
|
|
||||||
|
func _score() -> void:
|
||||||
|
if not $"/root/Global".gamerunning:
|
||||||
|
$Gui/Score.text = ""
|
||||||
|
elif $Screen/Duck.alive:
|
||||||
|
$"/root/Global".score += 10
|
||||||
|
$Gui/Score.text = "Score: "+str($"/root/Global".score)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
if $"/root/Global".gamerunning:
|
||||||
|
$Screen/Background/Sprites.position.x -= $"/root/Global".speed*delta
|
||||||
|
if $Screen/Background/Sprites.position.x <= -200:
|
||||||
|
$Screen/Background/Sprites.position.x = 0
|
||||||
|
|
9
code/score.gd
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
extends Label
|
||||||
|
|
||||||
|
var speed = 70
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
#func _ready() -> void:
|
||||||
|
#text = "0"
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
7
default_env.tres
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[gd_resource type="Environment" load_steps=2 format=3 uid="uid://ceeax73haqw51"]
|
||||||
|
|
||||||
|
[sub_resource type="Sky" id="1"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
background_mode = 2
|
||||||
|
sky = SubResource("1")
|
514
export_presets.cfg
Normal file
|
@ -0,0 +1,514 @@
|
||||||
|
[preset.0]
|
||||||
|
|
||||||
|
name="Android"
|
||||||
|
platform="Android"
|
||||||
|
runnable=true
|
||||||
|
advanced_options=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="builds/DuckRun_v2.0.4.apk"
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=1
|
||||||
|
|
||||||
|
[preset.0.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
gradle_build/use_gradle_build=false
|
||||||
|
gradle_build/gradle_build_directory=""
|
||||||
|
gradle_build/android_source_template=""
|
||||||
|
gradle_build/compress_native_libraries=false
|
||||||
|
gradle_build/export_format=0
|
||||||
|
gradle_build/min_sdk=""
|
||||||
|
gradle_build/target_sdk=""
|
||||||
|
architectures/armeabi-v7a=true
|
||||||
|
architectures/arm64-v8a=true
|
||||||
|
architectures/x86=false
|
||||||
|
architectures/x86_64=false
|
||||||
|
version/code=7
|
||||||
|
version/name="2.0.4"
|
||||||
|
package/unique_name="at.megamichi.duckrun"
|
||||||
|
package/name="DuckRun"
|
||||||
|
package/signed=true
|
||||||
|
package/app_category=2
|
||||||
|
package/retain_data_on_uninstall=false
|
||||||
|
package/exclude_from_recents=false
|
||||||
|
package/show_in_android_tv=true
|
||||||
|
package/show_in_app_library=true
|
||||||
|
package/show_as_launcher_app=false
|
||||||
|
launcher_icons/main_192x192=""
|
||||||
|
launcher_icons/adaptive_foreground_432x432=""
|
||||||
|
launcher_icons/adaptive_background_432x432=""
|
||||||
|
graphics/opengl_debug=false
|
||||||
|
xr_features/xr_mode=0
|
||||||
|
screen/immersive_mode=true
|
||||||
|
screen/support_small=true
|
||||||
|
screen/support_normal=true
|
||||||
|
screen/support_large=true
|
||||||
|
screen/support_xlarge=true
|
||||||
|
user_data_backup/allow=false
|
||||||
|
command_line/extra_args=""
|
||||||
|
apk_expansion/enable=false
|
||||||
|
apk_expansion/SALT=""
|
||||||
|
apk_expansion/public_key=""
|
||||||
|
permissions/custom_permissions=PackedStringArray()
|
||||||
|
permissions/access_checkin_properties=false
|
||||||
|
permissions/access_coarse_location=false
|
||||||
|
permissions/access_fine_location=false
|
||||||
|
permissions/access_location_extra_commands=false
|
||||||
|
permissions/access_mock_location=false
|
||||||
|
permissions/access_network_state=false
|
||||||
|
permissions/access_surface_flinger=false
|
||||||
|
permissions/access_wifi_state=false
|
||||||
|
permissions/account_manager=false
|
||||||
|
permissions/add_voicemail=false
|
||||||
|
permissions/authenticate_accounts=false
|
||||||
|
permissions/battery_stats=false
|
||||||
|
permissions/bind_accessibility_service=false
|
||||||
|
permissions/bind_appwidget=false
|
||||||
|
permissions/bind_device_admin=false
|
||||||
|
permissions/bind_input_method=false
|
||||||
|
permissions/bind_nfc_service=false
|
||||||
|
permissions/bind_notification_listener_service=false
|
||||||
|
permissions/bind_print_service=false
|
||||||
|
permissions/bind_remoteviews=false
|
||||||
|
permissions/bind_text_service=false
|
||||||
|
permissions/bind_vpn_service=false
|
||||||
|
permissions/bind_wallpaper=false
|
||||||
|
permissions/bluetooth=false
|
||||||
|
permissions/bluetooth_admin=false
|
||||||
|
permissions/bluetooth_privileged=false
|
||||||
|
permissions/brick=false
|
||||||
|
permissions/broadcast_package_removed=false
|
||||||
|
permissions/broadcast_sms=false
|
||||||
|
permissions/broadcast_sticky=false
|
||||||
|
permissions/broadcast_wap_push=false
|
||||||
|
permissions/call_phone=false
|
||||||
|
permissions/call_privileged=false
|
||||||
|
permissions/camera=false
|
||||||
|
permissions/capture_audio_output=false
|
||||||
|
permissions/capture_secure_video_output=false
|
||||||
|
permissions/capture_video_output=false
|
||||||
|
permissions/change_component_enabled_state=false
|
||||||
|
permissions/change_configuration=false
|
||||||
|
permissions/change_network_state=false
|
||||||
|
permissions/change_wifi_multicast_state=false
|
||||||
|
permissions/change_wifi_state=false
|
||||||
|
permissions/clear_app_cache=false
|
||||||
|
permissions/clear_app_user_data=false
|
||||||
|
permissions/control_location_updates=false
|
||||||
|
permissions/delete_cache_files=false
|
||||||
|
permissions/delete_packages=false
|
||||||
|
permissions/device_power=false
|
||||||
|
permissions/diagnostic=false
|
||||||
|
permissions/disable_keyguard=false
|
||||||
|
permissions/dump=false
|
||||||
|
permissions/expand_status_bar=false
|
||||||
|
permissions/factory_test=false
|
||||||
|
permissions/flashlight=false
|
||||||
|
permissions/force_back=false
|
||||||
|
permissions/get_accounts=false
|
||||||
|
permissions/get_package_size=false
|
||||||
|
permissions/get_tasks=false
|
||||||
|
permissions/get_top_activity_info=false
|
||||||
|
permissions/global_search=false
|
||||||
|
permissions/hardware_test=false
|
||||||
|
permissions/inject_events=false
|
||||||
|
permissions/install_location_provider=false
|
||||||
|
permissions/install_packages=false
|
||||||
|
permissions/install_shortcut=false
|
||||||
|
permissions/internal_system_window=false
|
||||||
|
permissions/internet=false
|
||||||
|
permissions/kill_background_processes=false
|
||||||
|
permissions/location_hardware=false
|
||||||
|
permissions/manage_accounts=false
|
||||||
|
permissions/manage_app_tokens=false
|
||||||
|
permissions/manage_documents=false
|
||||||
|
permissions/manage_external_storage=false
|
||||||
|
permissions/master_clear=false
|
||||||
|
permissions/media_content_control=false
|
||||||
|
permissions/modify_audio_settings=false
|
||||||
|
permissions/modify_phone_state=false
|
||||||
|
permissions/mount_format_filesystems=false
|
||||||
|
permissions/mount_unmount_filesystems=false
|
||||||
|
permissions/nfc=false
|
||||||
|
permissions/persistent_activity=false
|
||||||
|
permissions/post_notifications=false
|
||||||
|
permissions/process_outgoing_calls=false
|
||||||
|
permissions/read_calendar=false
|
||||||
|
permissions/read_call_log=false
|
||||||
|
permissions/read_contacts=false
|
||||||
|
permissions/read_external_storage=false
|
||||||
|
permissions/read_frame_buffer=false
|
||||||
|
permissions/read_history_bookmarks=false
|
||||||
|
permissions/read_input_state=false
|
||||||
|
permissions/read_logs=false
|
||||||
|
permissions/read_phone_state=false
|
||||||
|
permissions/read_profile=false
|
||||||
|
permissions/read_sms=false
|
||||||
|
permissions/read_social_stream=false
|
||||||
|
permissions/read_sync_settings=false
|
||||||
|
permissions/read_sync_stats=false
|
||||||
|
permissions/read_user_dictionary=false
|
||||||
|
permissions/reboot=false
|
||||||
|
permissions/receive_boot_completed=false
|
||||||
|
permissions/receive_mms=false
|
||||||
|
permissions/receive_sms=false
|
||||||
|
permissions/receive_wap_push=false
|
||||||
|
permissions/record_audio=false
|
||||||
|
permissions/reorder_tasks=false
|
||||||
|
permissions/restart_packages=false
|
||||||
|
permissions/send_respond_via_message=false
|
||||||
|
permissions/send_sms=false
|
||||||
|
permissions/set_activity_watcher=false
|
||||||
|
permissions/set_alarm=false
|
||||||
|
permissions/set_always_finish=false
|
||||||
|
permissions/set_animation_scale=false
|
||||||
|
permissions/set_debug_app=false
|
||||||
|
permissions/set_orientation=false
|
||||||
|
permissions/set_pointer_speed=false
|
||||||
|
permissions/set_preferred_applications=false
|
||||||
|
permissions/set_process_limit=false
|
||||||
|
permissions/set_time=false
|
||||||
|
permissions/set_time_zone=false
|
||||||
|
permissions/set_wallpaper=false
|
||||||
|
permissions/set_wallpaper_hints=false
|
||||||
|
permissions/signal_persistent_processes=false
|
||||||
|
permissions/status_bar=false
|
||||||
|
permissions/subscribed_feeds_read=false
|
||||||
|
permissions/subscribed_feeds_write=false
|
||||||
|
permissions/system_alert_window=false
|
||||||
|
permissions/transmit_ir=false
|
||||||
|
permissions/uninstall_shortcut=false
|
||||||
|
permissions/update_device_stats=false
|
||||||
|
permissions/use_credentials=false
|
||||||
|
permissions/use_sip=false
|
||||||
|
permissions/vibrate=false
|
||||||
|
permissions/wake_lock=false
|
||||||
|
permissions/write_apn_settings=false
|
||||||
|
permissions/write_calendar=false
|
||||||
|
permissions/write_call_log=false
|
||||||
|
permissions/write_contacts=false
|
||||||
|
permissions/write_external_storage=false
|
||||||
|
permissions/write_gservices=false
|
||||||
|
permissions/write_history_bookmarks=false
|
||||||
|
permissions/write_profile=false
|
||||||
|
permissions/write_secure_settings=false
|
||||||
|
permissions/write_settings=false
|
||||||
|
permissions/write_sms=false
|
||||||
|
permissions/write_social_stream=false
|
||||||
|
permissions/write_sync_settings=false
|
||||||
|
permissions/write_user_dictionary=false
|
||||||
|
custom_build/use_custom_build=false
|
||||||
|
custom_build/export_format=0
|
||||||
|
custom_build/min_sdk=""
|
||||||
|
custom_build/target_sdk=""
|
||||||
|
one_click_deploy/clear_previous_install=false
|
||||||
|
package/classify_as_game=true
|
||||||
|
xr_features/hand_tracking=0
|
||||||
|
xr_features/hand_tracking_frequency=0
|
||||||
|
xr_features/passthrough=0
|
||||||
|
|
||||||
|
[preset.1]
|
||||||
|
|
||||||
|
name="Linux"
|
||||||
|
platform="Linux"
|
||||||
|
runnable=true
|
||||||
|
advanced_options=false
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.1.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
debug/export_console_wrapper=1
|
||||||
|
binary_format/embed_pck=false
|
||||||
|
texture_format/s3tc_bptc=true
|
||||||
|
texture_format/etc2_astc=false
|
||||||
|
binary_format/architecture="x86_64"
|
||||||
|
ssh_remote_deploy/enabled=false
|
||||||
|
ssh_remote_deploy/host="user@host_ip"
|
||||||
|
ssh_remote_deploy/port="22"
|
||||||
|
ssh_remote_deploy/extra_args_ssh=""
|
||||||
|
ssh_remote_deploy/extra_args_scp=""
|
||||||
|
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||||
|
export DISPLAY=:0
|
||||||
|
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||||
|
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||||
|
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||||
|
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||||
|
rm -rf \"{temp_dir}\""
|
||||||
|
|
||||||
|
[preset.2]
|
||||||
|
|
||||||
|
name="Web"
|
||||||
|
platform="Web"
|
||||||
|
runnable=true
|
||||||
|
advanced_options=false
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="../testduck/DuckRun_v1.2.html"
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.2.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
variant/extensions_support=false
|
||||||
|
variant/thread_support=false
|
||||||
|
vram_texture_compression/for_desktop=true
|
||||||
|
vram_texture_compression/for_mobile=true
|
||||||
|
html/export_icon=true
|
||||||
|
html/custom_html_shell=""
|
||||||
|
html/head_include=""
|
||||||
|
html/canvas_resize_policy=2
|
||||||
|
html/focus_canvas_on_start=true
|
||||||
|
html/experimental_virtual_keyboard=false
|
||||||
|
progressive_web_app/enabled=false
|
||||||
|
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||||
|
progressive_web_app/offline_page=""
|
||||||
|
progressive_web_app/display=1
|
||||||
|
progressive_web_app/orientation=0
|
||||||
|
progressive_web_app/icon_144x144=""
|
||||||
|
progressive_web_app/icon_180x180=""
|
||||||
|
progressive_web_app/icon_512x512=""
|
||||||
|
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[preset.3]
|
||||||
|
|
||||||
|
name="iOS"
|
||||||
|
platform="iOS"
|
||||||
|
runnable=true
|
||||||
|
advanced_options=false
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.3.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
architectures/arm64=true
|
||||||
|
application/app_store_team_id="ABC"
|
||||||
|
application/code_sign_identity_debug=""
|
||||||
|
application/export_method_debug=1
|
||||||
|
application/code_sign_identity_release=""
|
||||||
|
application/export_method_release=0
|
||||||
|
application/targeted_device_family=2
|
||||||
|
application/bundle_identifier="at.megamichi.duckrun"
|
||||||
|
application/signature=""
|
||||||
|
application/short_version=""
|
||||||
|
application/version=""
|
||||||
|
application/min_ios_version="12.0"
|
||||||
|
application/additional_plist_content=""
|
||||||
|
application/icon_interpolation=4
|
||||||
|
application/export_project_only=false
|
||||||
|
application/delete_old_export_files_unconditionally=false
|
||||||
|
application/generate_simulator_library_if_missing=true
|
||||||
|
capabilities/access_wifi=false
|
||||||
|
capabilities/push_notifications=false
|
||||||
|
capabilities/performance_gaming_tier=false
|
||||||
|
capabilities/performance_a12=false
|
||||||
|
user_data/accessible_from_files_app=false
|
||||||
|
user_data/accessible_from_itunes_sharing=false
|
||||||
|
privacy/camera_usage_description=""
|
||||||
|
privacy/camera_usage_description_localized={}
|
||||||
|
privacy/microphone_usage_description=""
|
||||||
|
privacy/microphone_usage_description_localized={}
|
||||||
|
privacy/photolibrary_usage_description=""
|
||||||
|
privacy/photolibrary_usage_description_localized={}
|
||||||
|
privacy/file_timestamp_access_reasons=3
|
||||||
|
privacy/system_boot_time_access_reasons=1
|
||||||
|
privacy/disk_space_access_reasons=3
|
||||||
|
privacy/active_keyboard_access_reasons=0
|
||||||
|
privacy/user_defaults_access_reasons=0
|
||||||
|
privacy/tracking_enabled=false
|
||||||
|
privacy/tracking_domains=PackedStringArray()
|
||||||
|
privacy/collected_data/name/collected=false
|
||||||
|
privacy/collected_data/name/linked_to_user=false
|
||||||
|
privacy/collected_data/name/used_for_tracking=false
|
||||||
|
privacy/collected_data/name/collection_purposes=0
|
||||||
|
privacy/collected_data/email_address/collected=false
|
||||||
|
privacy/collected_data/email_address/linked_to_user=false
|
||||||
|
privacy/collected_data/email_address/used_for_tracking=false
|
||||||
|
privacy/collected_data/email_address/collection_purposes=0
|
||||||
|
privacy/collected_data/phone_number/collected=false
|
||||||
|
privacy/collected_data/phone_number/linked_to_user=false
|
||||||
|
privacy/collected_data/phone_number/used_for_tracking=false
|
||||||
|
privacy/collected_data/phone_number/collection_purposes=0
|
||||||
|
privacy/collected_data/physical_address/collected=false
|
||||||
|
privacy/collected_data/physical_address/linked_to_user=false
|
||||||
|
privacy/collected_data/physical_address/used_for_tracking=false
|
||||||
|
privacy/collected_data/physical_address/collection_purposes=0
|
||||||
|
privacy/collected_data/other_contact_info/collected=false
|
||||||
|
privacy/collected_data/other_contact_info/linked_to_user=false
|
||||||
|
privacy/collected_data/other_contact_info/used_for_tracking=false
|
||||||
|
privacy/collected_data/other_contact_info/collection_purposes=0
|
||||||
|
privacy/collected_data/health/collected=false
|
||||||
|
privacy/collected_data/health/linked_to_user=false
|
||||||
|
privacy/collected_data/health/used_for_tracking=false
|
||||||
|
privacy/collected_data/health/collection_purposes=0
|
||||||
|
privacy/collected_data/fitness/collected=false
|
||||||
|
privacy/collected_data/fitness/linked_to_user=false
|
||||||
|
privacy/collected_data/fitness/used_for_tracking=false
|
||||||
|
privacy/collected_data/fitness/collection_purposes=0
|
||||||
|
privacy/collected_data/payment_info/collected=false
|
||||||
|
privacy/collected_data/payment_info/linked_to_user=false
|
||||||
|
privacy/collected_data/payment_info/used_for_tracking=false
|
||||||
|
privacy/collected_data/payment_info/collection_purposes=0
|
||||||
|
privacy/collected_data/credit_info/collected=false
|
||||||
|
privacy/collected_data/credit_info/linked_to_user=false
|
||||||
|
privacy/collected_data/credit_info/used_for_tracking=false
|
||||||
|
privacy/collected_data/credit_info/collection_purposes=0
|
||||||
|
privacy/collected_data/other_financial_info/collected=false
|
||||||
|
privacy/collected_data/other_financial_info/linked_to_user=false
|
||||||
|
privacy/collected_data/other_financial_info/used_for_tracking=false
|
||||||
|
privacy/collected_data/other_financial_info/collection_purposes=0
|
||||||
|
privacy/collected_data/precise_location/collected=false
|
||||||
|
privacy/collected_data/precise_location/linked_to_user=false
|
||||||
|
privacy/collected_data/precise_location/used_for_tracking=false
|
||||||
|
privacy/collected_data/precise_location/collection_purposes=0
|
||||||
|
privacy/collected_data/coarse_location/collected=false
|
||||||
|
privacy/collected_data/coarse_location/linked_to_user=false
|
||||||
|
privacy/collected_data/coarse_location/used_for_tracking=false
|
||||||
|
privacy/collected_data/coarse_location/collection_purposes=0
|
||||||
|
privacy/collected_data/sensitive_info/collected=false
|
||||||
|
privacy/collected_data/sensitive_info/linked_to_user=false
|
||||||
|
privacy/collected_data/sensitive_info/used_for_tracking=false
|
||||||
|
privacy/collected_data/sensitive_info/collection_purposes=0
|
||||||
|
privacy/collected_data/contacts/collected=false
|
||||||
|
privacy/collected_data/contacts/linked_to_user=false
|
||||||
|
privacy/collected_data/contacts/used_for_tracking=false
|
||||||
|
privacy/collected_data/contacts/collection_purposes=0
|
||||||
|
privacy/collected_data/emails_or_text_messages/collected=false
|
||||||
|
privacy/collected_data/emails_or_text_messages/linked_to_user=false
|
||||||
|
privacy/collected_data/emails_or_text_messages/used_for_tracking=false
|
||||||
|
privacy/collected_data/emails_or_text_messages/collection_purposes=0
|
||||||
|
privacy/collected_data/photos_or_videos/collected=false
|
||||||
|
privacy/collected_data/photos_or_videos/linked_to_user=false
|
||||||
|
privacy/collected_data/photos_or_videos/used_for_tracking=false
|
||||||
|
privacy/collected_data/photos_or_videos/collection_purposes=0
|
||||||
|
privacy/collected_data/audio_data/collected=false
|
||||||
|
privacy/collected_data/audio_data/linked_to_user=false
|
||||||
|
privacy/collected_data/audio_data/used_for_tracking=false
|
||||||
|
privacy/collected_data/audio_data/collection_purposes=0
|
||||||
|
privacy/collected_data/gameplay_content/collected=false
|
||||||
|
privacy/collected_data/gameplay_content/linked_to_user=false
|
||||||
|
privacy/collected_data/gameplay_content/used_for_tracking=false
|
||||||
|
privacy/collected_data/gameplay_content/collection_purposes=0
|
||||||
|
privacy/collected_data/customer_support/collected=false
|
||||||
|
privacy/collected_data/customer_support/linked_to_user=false
|
||||||
|
privacy/collected_data/customer_support/used_for_tracking=false
|
||||||
|
privacy/collected_data/customer_support/collection_purposes=0
|
||||||
|
privacy/collected_data/other_user_content/collected=false
|
||||||
|
privacy/collected_data/other_user_content/linked_to_user=false
|
||||||
|
privacy/collected_data/other_user_content/used_for_tracking=false
|
||||||
|
privacy/collected_data/other_user_content/collection_purposes=0
|
||||||
|
privacy/collected_data/browsing_history/collected=false
|
||||||
|
privacy/collected_data/browsing_history/linked_to_user=false
|
||||||
|
privacy/collected_data/browsing_history/used_for_tracking=false
|
||||||
|
privacy/collected_data/browsing_history/collection_purposes=0
|
||||||
|
privacy/collected_data/search_hhistory/collected=false
|
||||||
|
privacy/collected_data/search_hhistory/linked_to_user=false
|
||||||
|
privacy/collected_data/search_hhistory/used_for_tracking=false
|
||||||
|
privacy/collected_data/search_hhistory/collection_purposes=0
|
||||||
|
privacy/collected_data/user_id/collected=false
|
||||||
|
privacy/collected_data/user_id/linked_to_user=false
|
||||||
|
privacy/collected_data/user_id/used_for_tracking=false
|
||||||
|
privacy/collected_data/user_id/collection_purposes=0
|
||||||
|
privacy/collected_data/device_id/collected=false
|
||||||
|
privacy/collected_data/device_id/linked_to_user=false
|
||||||
|
privacy/collected_data/device_id/used_for_tracking=false
|
||||||
|
privacy/collected_data/device_id/collection_purposes=0
|
||||||
|
privacy/collected_data/purchase_history/collected=false
|
||||||
|
privacy/collected_data/purchase_history/linked_to_user=false
|
||||||
|
privacy/collected_data/purchase_history/used_for_tracking=false
|
||||||
|
privacy/collected_data/purchase_history/collection_purposes=0
|
||||||
|
privacy/collected_data/product_interaction/collected=false
|
||||||
|
privacy/collected_data/product_interaction/linked_to_user=false
|
||||||
|
privacy/collected_data/product_interaction/used_for_tracking=false
|
||||||
|
privacy/collected_data/product_interaction/collection_purposes=0
|
||||||
|
privacy/collected_data/advertising_data/collected=false
|
||||||
|
privacy/collected_data/advertising_data/linked_to_user=false
|
||||||
|
privacy/collected_data/advertising_data/used_for_tracking=false
|
||||||
|
privacy/collected_data/advertising_data/collection_purposes=0
|
||||||
|
privacy/collected_data/other_usage_data/collected=false
|
||||||
|
privacy/collected_data/other_usage_data/linked_to_user=false
|
||||||
|
privacy/collected_data/other_usage_data/used_for_tracking=false
|
||||||
|
privacy/collected_data/other_usage_data/collection_purposes=0
|
||||||
|
privacy/collected_data/crash_data/collected=false
|
||||||
|
privacy/collected_data/crash_data/linked_to_user=false
|
||||||
|
privacy/collected_data/crash_data/used_for_tracking=false
|
||||||
|
privacy/collected_data/crash_data/collection_purposes=0
|
||||||
|
privacy/collected_data/performance_data/collected=false
|
||||||
|
privacy/collected_data/performance_data/linked_to_user=false
|
||||||
|
privacy/collected_data/performance_data/used_for_tracking=false
|
||||||
|
privacy/collected_data/performance_data/collection_purposes=0
|
||||||
|
privacy/collected_data/other_diagnostic_data/collected=false
|
||||||
|
privacy/collected_data/other_diagnostic_data/linked_to_user=false
|
||||||
|
privacy/collected_data/other_diagnostic_data/used_for_tracking=false
|
||||||
|
privacy/collected_data/other_diagnostic_data/collection_purposes=0
|
||||||
|
privacy/collected_data/environment_scanning/collected=false
|
||||||
|
privacy/collected_data/environment_scanning/linked_to_user=false
|
||||||
|
privacy/collected_data/environment_scanning/used_for_tracking=false
|
||||||
|
privacy/collected_data/environment_scanning/collection_purposes=0
|
||||||
|
privacy/collected_data/hands/collected=false
|
||||||
|
privacy/collected_data/hands/linked_to_user=false
|
||||||
|
privacy/collected_data/hands/used_for_tracking=false
|
||||||
|
privacy/collected_data/hands/collection_purposes=0
|
||||||
|
privacy/collected_data/head/collected=false
|
||||||
|
privacy/collected_data/head/linked_to_user=false
|
||||||
|
privacy/collected_data/head/used_for_tracking=false
|
||||||
|
privacy/collected_data/head/collection_purposes=0
|
||||||
|
privacy/collected_data/other_data_types/collected=false
|
||||||
|
privacy/collected_data/other_data_types/linked_to_user=false
|
||||||
|
privacy/collected_data/other_data_types/used_for_tracking=false
|
||||||
|
privacy/collected_data/other_data_types/collection_purposes=0
|
||||||
|
icons/iphone_120x120=""
|
||||||
|
icons/iphone_180x180=""
|
||||||
|
icons/ipad_76x76=""
|
||||||
|
icons/ipad_152x152=""
|
||||||
|
icons/ipad_167x167=""
|
||||||
|
icons/app_store_1024x1024=""
|
||||||
|
icons/spotlight_40x40=""
|
||||||
|
icons/spotlight_80x80=""
|
||||||
|
icons/settings_58x58=""
|
||||||
|
icons/settings_87x87=""
|
||||||
|
icons/notification_40x40=""
|
||||||
|
icons/notification_60x60=""
|
||||||
|
storyboard/image_scale_mode=0
|
||||||
|
storyboard/custom_image@2x=""
|
||||||
|
storyboard/custom_image@3x=""
|
||||||
|
storyboard/use_custom_bg_color=false
|
||||||
|
storyboard/custom_bg_color=Color(0, 0, 0, 1)
|
BIN
icon.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
34
icon.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cgu1aek7px110"
|
||||||
|
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.png"
|
||||||
|
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.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
m5x7.ttf
Normal file
34
m5x7.ttf.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="font_data_dynamic"
|
||||||
|
type="FontFile"
|
||||||
|
uid="uid://ddcous2vnc3ux"
|
||||||
|
path="res://.godot/imported/m5x7.ttf-ede74fbe3753eb2fe0ebc455b7b3a4db.fontdata"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://m5x7.ttf"
|
||||||
|
dest_files=["res://.godot/imported/m5x7.ttf-ede74fbe3753eb2fe0ebc455b7b3a4db.fontdata"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
Rendering=null
|
||||||
|
antialiasing=1
|
||||||
|
generate_mipmaps=false
|
||||||
|
disable_embedded_bitmaps=true
|
||||||
|
multichannel_signed_distance_field=false
|
||||||
|
msdf_pixel_range=8
|
||||||
|
msdf_size=48
|
||||||
|
allow_system_fallback=true
|
||||||
|
force_autohinter=false
|
||||||
|
hinting=1
|
||||||
|
subpixel_positioning=1
|
||||||
|
oversampling=0.0
|
||||||
|
Fallbacks=null
|
||||||
|
fallbacks=[]
|
||||||
|
Compress=null
|
||||||
|
compress=true
|
||||||
|
preload=[]
|
||||||
|
language_support={}
|
||||||
|
script_support={}
|
||||||
|
opentype_features={}
|
101
project.godot
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
; Engine configuration file.
|
||||||
|
; It's best edited using the editor UI and not directly,
|
||||||
|
; since the parameters that go here are not all obvious.
|
||||||
|
;
|
||||||
|
; Format:
|
||||||
|
; [section] ; section goes between []
|
||||||
|
; param=value ; assign values to parameters
|
||||||
|
|
||||||
|
config_version=5
|
||||||
|
|
||||||
|
[application]
|
||||||
|
|
||||||
|
config/name="DuckRun"
|
||||||
|
config/version="2.0.4"
|
||||||
|
run/main_scene="res://scenes/Main.tscn"
|
||||||
|
config/features=PackedStringArray("4.3")
|
||||||
|
boot_splash/image="res://icon.png"
|
||||||
|
config/icon="res://icon.png"
|
||||||
|
|
||||||
|
[autoload]
|
||||||
|
|
||||||
|
Global="*res://code/global.gd"
|
||||||
|
|
||||||
|
[display]
|
||||||
|
|
||||||
|
window/size/viewport_width=170
|
||||||
|
window/size/viewport_height=100
|
||||||
|
window/size/window_width_override=1020
|
||||||
|
window/size/window_height_override=600
|
||||||
|
window/stretch/mode="viewport"
|
||||||
|
window/stretch/aspect="keep_height"
|
||||||
|
window/handheld/orientation=4
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
|
||||||
|
version_control/plugin_name="GitPlugin"
|
||||||
|
version_control/autoload_on_startup=true
|
||||||
|
|
||||||
|
[file_customization]
|
||||||
|
|
||||||
|
folder_colors={
|
||||||
|
"res://android/": "gray",
|
||||||
|
"res://assets/": "green",
|
||||||
|
"res://builds/": "gray",
|
||||||
|
"res://code/": "blue",
|
||||||
|
"res://scenes/": "orange"
|
||||||
|
}
|
||||||
|
|
||||||
|
[gui]
|
||||||
|
|
||||||
|
common/drop_mouse_on_gui_input_disabled=true
|
||||||
|
|
||||||
|
[importer_defaults]
|
||||||
|
|
||||||
|
texture={
|
||||||
|
"compress/bptc_ldr": 0,
|
||||||
|
"compress/hdr_mode": 0,
|
||||||
|
"compress/lossy_quality": 0.7,
|
||||||
|
"compress/mode": 0,
|
||||||
|
"compress/normal_map": 0,
|
||||||
|
"detect_3d": false,
|
||||||
|
"flags/anisotropic": false,
|
||||||
|
"flags/filter": false,
|
||||||
|
"flags/mipmaps": false,
|
||||||
|
"flags/repeat": 0,
|
||||||
|
"flags/srgb": 2,
|
||||||
|
"process/HDR_as_SRGB": false,
|
||||||
|
"process/fix_alpha_border": true,
|
||||||
|
"process/invert_color": false,
|
||||||
|
"process/normal_map_invert_y": false,
|
||||||
|
"process/premult_alpha": false,
|
||||||
|
"size_limit": 0,
|
||||||
|
"stream": false,
|
||||||
|
"svg/scale": 1.0
|
||||||
|
}
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
jump={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(109, 21),"global_position":Vector2(118, 67),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
[layer_names]
|
||||||
|
|
||||||
|
2d_physics/layer_1="physic"
|
||||||
|
2d_physics/layer_2="collision"
|
||||||
|
|
||||||
|
[physics]
|
||||||
|
|
||||||
|
2d/default_gravity=900.0
|
||||||
|
common/enable_pause_aware_picking=true
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
textures/canvas_textures/default_texture_filter=0
|
||||||
|
textures/vram_compression/import_etc2_astc=true
|
||||||
|
environment/defaults/default_environment="res://default_env.tres"
|
42
scenes/Duck/Duck.gd
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
extends CharacterBody2D
|
||||||
|
|
||||||
|
|
||||||
|
const JUMP_VELOCITY = -230.0
|
||||||
|
signal gameover
|
||||||
|
|
||||||
|
@onready var alive = true
|
||||||
|
|
||||||
|
func die():
|
||||||
|
print("die")
|
||||||
|
gameover.emit()
|
||||||
|
alive = false
|
||||||
|
|
||||||
|
func start():
|
||||||
|
global_position = Vector2(21,91)
|
||||||
|
alive = true
|
||||||
|
|
||||||
|
func _physics_process(delta: float) -> void:
|
||||||
|
if not is_on_floor():
|
||||||
|
velocity += get_gravity() * delta
|
||||||
|
|
||||||
|
if Input.is_action_pressed("jump") and is_on_floor() and alive and $"/root/Global".gamerunning:
|
||||||
|
velocity.y = JUMP_VELOCITY
|
||||||
|
move_and_slide()
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
if position.x < -20:
|
||||||
|
if alive:
|
||||||
|
die()
|
||||||
|
if not $"/root/Global".gamerunning:
|
||||||
|
$AnimationPlayer.play("idle")
|
||||||
|
elif not is_on_floor():
|
||||||
|
$AnimationPlayer.play("fly")
|
||||||
|
elif not alive:
|
||||||
|
$AnimationPlayer.play("die")
|
||||||
|
else:
|
||||||
|
$AnimationPlayer.play("walk")
|
||||||
|
|
||||||
|
func _collide_with_hindernis(_body: Node2D) -> void:
|
||||||
|
print("colide")
|
||||||
|
if alive:
|
||||||
|
die()
|
136
scenes/Duck/Duck.tscn
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
[gd_scene load_steps=11 format=3 uid="uid://8v5mbbnddorh"]
|
||||||
|
|
||||||
|
[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"]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="5"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("../Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [4]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="6"]
|
||||||
|
resource_name = "die"
|
||||||
|
length = 0.3
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("../Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [5]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="7"]
|
||||||
|
resource_name = "fly"
|
||||||
|
length = 0.5
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("../Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [2]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="2"]
|
||||||
|
resource_name = "idle"
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("../Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.5),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0, 1]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="3"]
|
||||||
|
resource_name = "walk"
|
||||||
|
length = 0.5
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("../Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.5),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [3, 4]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_rcmnp"]
|
||||||
|
_data = {
|
||||||
|
"RESET": SubResource("5"),
|
||||||
|
"die": SubResource("6"),
|
||||||
|
"fly": SubResource("7"),
|
||||||
|
"idle": SubResource("2"),
|
||||||
|
"walk": SubResource("3")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_1551i"]
|
||||||
|
radius = 1.21655
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_46c8m"]
|
||||||
|
radius = 6.0
|
||||||
|
height = 14.0
|
||||||
|
|
||||||
|
[node name="Duck" type="CharacterBody2D"]
|
||||||
|
script = ExtResource("1_pvotk")
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
root_node = NodePath("../hitbox")
|
||||||
|
libraries = {
|
||||||
|
"": SubResource("AnimationLibrary_rcmnp")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
texture_filter = 3
|
||||||
|
position = Vector2(0, -7)
|
||||||
|
texture = ExtResource("1")
|
||||||
|
hframes = 3
|
||||||
|
vframes = 2
|
||||||
|
frame = 4
|
||||||
|
|
||||||
|
[node name="physicsbox" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(2.38419e-07, -6)
|
||||||
|
scale = Vector2(5, 5)
|
||||||
|
shape = SubResource("CircleShape2D_1551i")
|
||||||
|
|
||||||
|
[node name="hitbox" type="Area2D" parent="."]
|
||||||
|
position = Vector2(13, -2)
|
||||||
|
collision_layer = 2
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="hitbox"]
|
||||||
|
position = Vector2(-13, -4)
|
||||||
|
shape = SubResource("CapsuleShape2D_46c8m")
|
||||||
|
debug_color = Color(0.906661, 0.254677, 0.42413, 0.42)
|
||||||
|
|
||||||
|
[connection signal="area_entered" from="hitbox" to="." method="_collide_with_hindernis"]
|
BIN
scenes/Duck/ente.png
Normal file
After Width: | Height: | Size: 1 KiB |
34
scenes/Duck/ente.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dc6grg2oaq3a6"
|
||||||
|
path="res://.godot/imported/ente.png-89549b44b337187eba16391bfd7f28f9.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/Duck/ente.png"
|
||||||
|
dest_files=["res://.godot/imported/ente.png-89549b44b337187eba16391bfd7f28f9.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
|
344
scenes/Main.tscn
Normal file
|
@ -0,0 +1,344 @@
|
||||||
|
[gd_scene load_steps=22 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/score.gd" id="2_4em51"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://ddcous2vnc3ux" path="res://m5x7.ttf" id="2_m1hnc"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dgfvf2ta4lc4e" path="res://assets/Ground/stars.png" id="2_ohf2r"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bg78j6xxw3ck4" path="res://assets/Ground/background.png" id="3"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bmklwmjrtynqo" path="res://assets/Ground/ground.png" id="3_vc02h"]
|
||||||
|
[ext_resource type="Script" path="res://scenes/hindernis/Spawner/hindernis_spawner.gd" id="4_oc6me"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dm307sj4nenjt" path="res://scenes/schild.tscn" id="5_ewtcf"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://do0okfxenx2ci" path="res://assets/GUI/restart button.png" id="6_boo0r"]
|
||||||
|
[ext_resource type="Script" path="res://scenes/easteregg/Spawner/easteregg_spawner.gd" id="8_awkaj"]
|
||||||
|
[ext_resource type="Script" path="res://code/GUI/startschild.gd" id="10_tn1on"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d2i2d0rmdtklc" path="res://assets/GUI/start button.png" id="11_4sha5"]
|
||||||
|
[ext_resource type="Script" path="res://scenes/Wolke/Spawner/wolken_spawner.gd" id="11_x2wm3"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bj7bgtdcbdald" path="res://assets/GUI/logo.png" id="14_4hepj"]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_n8ktn"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:color:r")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(0.560784, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath(".:color:g")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(0.937255, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_7cwe6"]
|
||||||
|
resource_name = "change_time"
|
||||||
|
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 = {
|
||||||
|
"RESET": SubResource("Animation_n8ktn"),
|
||||||
|
"change_time": SubResource("Animation_7cwe6")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="GDScript" id="GDScript_rkc4w"]
|
||||||
|
script/source = "extends Timer
|
||||||
|
|
||||||
|
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:
|
||||||
|
print(day)
|
||||||
|
if day:
|
||||||
|
$\"../AnimationPlayer\".play(\"change_time\")
|
||||||
|
day = not day
|
||||||
|
else:
|
||||||
|
$\"../AnimationPlayer\".play_backwards(\"change_time\")
|
||||||
|
day = not day
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_o05as"]
|
||||||
|
size = Vector2(4, 15)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_0a3yj"]
|
||||||
|
size = Vector2(361, 8)
|
||||||
|
|
||||||
|
[node name="Game" type="Node"]
|
||||||
|
script = ExtResource("1_ar2ah")
|
||||||
|
|
||||||
|
[node name="Screen" type="Node2D" parent="."]
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="Screen"]
|
||||||
|
root_node = NodePath("../BackgroundRect")
|
||||||
|
libraries = {
|
||||||
|
"": SubResource("AnimationLibrary_c30x0")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Day-NightTimer" type="Timer" parent="Screen"]
|
||||||
|
wait_time = 12.0
|
||||||
|
autostart = true
|
||||||
|
script = SubResource("GDScript_rkc4w")
|
||||||
|
|
||||||
|
[node name="BackgroundRect" type="ColorRect" parent="Screen"]
|
||||||
|
offset_right = 801.0
|
||||||
|
offset_bottom = 97.0
|
||||||
|
color = Color(0.560784, 0.937255, 0.937255, 1)
|
||||||
|
|
||||||
|
[node name="Background" type="Node2D" parent="Screen"]
|
||||||
|
|
||||||
|
[node name="Stars" type="Sprite2D" parent="Screen/Background"]
|
||||||
|
modulate = Color(1, 1, 1, 0)
|
||||||
|
position = Vector2(85, 50)
|
||||||
|
texture = ExtResource("2_ohf2r")
|
||||||
|
|
||||||
|
[node name="Sprites" type="Node2D" parent="Screen/Background"]
|
||||||
|
position = Vector2(79, 96)
|
||||||
|
|
||||||
|
[node name="Background" type="Sprite2D" parent="Screen/Background/Sprites"]
|
||||||
|
position = Vector2(21, -37)
|
||||||
|
texture = ExtResource("3")
|
||||||
|
|
||||||
|
[node name="Background2" type="Sprite2D" parent="Screen/Background/Sprites"]
|
||||||
|
position = Vector2(221, -37)
|
||||||
|
texture = ExtResource("3")
|
||||||
|
|
||||||
|
[node name="Background3" type="Sprite2D" parent="Screen/Background/Sprites"]
|
||||||
|
position = Vector2(421, -37)
|
||||||
|
texture = ExtResource("3")
|
||||||
|
|
||||||
|
[node name="Ground" type="Sprite2D" parent="Screen/Background/Sprites"]
|
||||||
|
position = Vector2(21, -2)
|
||||||
|
texture = ExtResource("3_vc02h")
|
||||||
|
|
||||||
|
[node name="Ground2" type="Sprite2D" parent="Screen/Background/Sprites"]
|
||||||
|
position = Vector2(221, -2)
|
||||||
|
texture = ExtResource("3_vc02h")
|
||||||
|
|
||||||
|
[node name="Ground3" type="Sprite2D" parent="Screen/Background/Sprites"]
|
||||||
|
position = Vector2(421, -2)
|
||||||
|
texture = ExtResource("3_vc02h")
|
||||||
|
|
||||||
|
[node name="Floor" type="StaticBody2D" parent="Screen/Background"]
|
||||||
|
|
||||||
|
[node name="EasterEggFixCollision" type="CollisionShape2D" parent="Screen/Background/Floor"]
|
||||||
|
position = Vector2(-2, 83.5)
|
||||||
|
shape = SubResource("RectangleShape2D_o05as")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Screen/Background/Floor"]
|
||||||
|
position = Vector2(101.5, 96)
|
||||||
|
shape = SubResource("RectangleShape2D_0a3yj")
|
||||||
|
|
||||||
|
[node name="HindernissSpawner" type="Marker2D" parent="Screen"]
|
||||||
|
position = Vector2(446, 92)
|
||||||
|
script = ExtResource("4_oc6me")
|
||||||
|
|
||||||
|
[node name="Duck" parent="Screen" instance=ExtResource("2")]
|
||||||
|
position = Vector2(21, 91)
|
||||||
|
|
||||||
|
[node name="WolkenSpawner" type="Marker2D" parent="Screen"]
|
||||||
|
position = Vector2(485, -1)
|
||||||
|
script = ExtResource("11_x2wm3")
|
||||||
|
|
||||||
|
[node name="LevelUpTimer" type="Timer" parent="Screen"]
|
||||||
|
wait_time = 5.0
|
||||||
|
|
||||||
|
[node name="SpawnTimer" type="Timer" parent="Screen"]
|
||||||
|
wait_time = 1.6
|
||||||
|
|
||||||
|
[node name="WolkenTimer" type="Timer" parent="Screen"]
|
||||||
|
autostart = true
|
||||||
|
|
||||||
|
[node name="EastereggSpawner" type="Marker2D" parent="Screen"]
|
||||||
|
position = Vector2(81, -18)
|
||||||
|
script = ExtResource("8_awkaj")
|
||||||
|
|
||||||
|
[node name="Gui" type="Control" parent="."]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="GameOverSchild" parent="Gui" instance=ExtResource("5_ewtcf")]
|
||||||
|
visible = false
|
||||||
|
position = Vector2(279, 0)
|
||||||
|
|
||||||
|
[node name="Restart" type="TextureButton" parent="Gui/GameOverSchild"]
|
||||||
|
texture_repeat = 2
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.77
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.77
|
||||||
|
offset_left = -73.5
|
||||||
|
offset_top = -91.5
|
||||||
|
offset_right = -58.5
|
||||||
|
offset_bottom = -76.5
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
scale = Vector2(3, 3)
|
||||||
|
texture_normal = ExtResource("6_boo0r")
|
||||||
|
stretch_mode = 1
|
||||||
|
metadata/_edit_use_anchors_ = true
|
||||||
|
|
||||||
|
[node name="StartSchild" parent="Gui" instance=ExtResource("5_ewtcf")]
|
||||||
|
visible = false
|
||||||
|
position = Vector2(63, 0)
|
||||||
|
script = ExtResource("10_tn1on")
|
||||||
|
|
||||||
|
[node name="Start" type="TextureButton" parent="Gui/StartSchild"]
|
||||||
|
texture_repeat = 2
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.77
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.77
|
||||||
|
offset_left = -73.5
|
||||||
|
offset_top = -91.5
|
||||||
|
offset_right = -58.5
|
||||||
|
offset_bottom = -76.5
|
||||||
|
scale = Vector2(3, 3)
|
||||||
|
texture_normal = ExtResource("11_4sha5")
|
||||||
|
stretch_mode = 1
|
||||||
|
|
||||||
|
[node name="Logo" type="TextureButton" parent="Gui/StartSchild"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -140.0
|
||||||
|
offset_top = 40.0
|
||||||
|
offset_right = -112.0
|
||||||
|
offset_bottom = -81.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
rotation = -0.397935
|
||||||
|
texture_normal = ExtResource("14_4hepj")
|
||||||
|
|
||||||
|
[node name="Score" type="Label" parent="Gui"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 13
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_left = -0.5
|
||||||
|
offset_top = 12.0
|
||||||
|
offset_right = 0.5
|
||||||
|
offset_bottom = 12.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_fonts/font = ExtResource("2_m1hnc")
|
||||||
|
text = "
|
||||||
|
"
|
||||||
|
script = ExtResource("2_4em51")
|
||||||
|
|
||||||
|
[node name="ScoreCounter" type="Timer" parent="Gui/Score"]
|
||||||
|
wait_time = 0.1
|
||||||
|
autostart = true
|
||||||
|
|
||||||
|
[connection signal="timeout" from="Screen/Day-NightTimer" to="Screen/Day-NightTimer" method="_change_time"]
|
||||||
|
[connection signal="gameover" from="Screen/Duck" to="Gui/GameOverSchild" method="_on_duck_gameover"]
|
||||||
|
[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/WolkenTimer" to="Screen/WolkenSpawner" method="_spawn"]
|
||||||
|
[connection signal="pressed" from="Gui/GameOverSchild/Restart" to="Gui/GameOverSchild" method="_on_restart_pressed"]
|
||||||
|
[connection signal="pressed" from="Gui/StartSchild/Start" to="Gui/StartSchild" method="_on_start_pressed"]
|
||||||
|
[connection signal="pressed" from="Gui/StartSchild/Logo" to="Screen/EastereggSpawner" method="_spawn"]
|
||||||
|
[connection signal="timeout" from="Gui/Score/ScoreCounter" to="." method="_score"]
|
13
scenes/Wolke/Spawner/wolken_spawner.gd
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
extends Marker2D
|
||||||
|
|
||||||
|
var speed
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
speed = $"/root/Global".speed
|
||||||
|
|
||||||
|
|
||||||
|
func _spawn() -> void:
|
||||||
|
var wolke = preload("res://scenes/Wolke/wolke.tscn").instantiate()
|
||||||
|
wolke.global_position.y = randi_range(0,50)
|
||||||
|
$"../WolkenTimer".wait_time = randf_range(0.5,1.5)
|
||||||
|
add_child(wolke)
|
13
scenes/Wolke/wolke.gd
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
extends Sprite2D
|
||||||
|
|
||||||
|
#var sca: float
|
||||||
|
var speed: float
|
||||||
|
|
||||||
|
# Initialisierung in der _ready Methode
|
||||||
|
func _ready() -> void:
|
||||||
|
speed = 10*randi_range(1, 5)
|
||||||
|
frame = randi_range(0,4)
|
||||||
|
self_modulate = Color(1,1,1,randf_range(0,0.5))
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
global_position.x -= speed * delta
|
10
scenes/Wolke/wolke.tscn
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[gd_scene load_steps=3 format=3 uid="uid://bky81sd1m7fm7"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b03sbc7akorka" path="res://scenes/Wolke/wolken.png" id="1_c6lhp"]
|
||||||
|
[ext_resource type="Script" path="res://scenes/Wolke/wolke.gd" id="2_tsh5n"]
|
||||||
|
|
||||||
|
[node name="Wolke" type="Sprite2D"]
|
||||||
|
texture_filter = 1
|
||||||
|
texture = ExtResource("1_c6lhp")
|
||||||
|
hframes = 5
|
||||||
|
script = ExtResource("2_tsh5n")
|
BIN
scenes/Wolke/wolken.png
Normal file
After Width: | Height: | Size: 934 B |
34
scenes/Wolke/wolken.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b03sbc7akorka"
|
||||||
|
path="res://.godot/imported/wolken.png-7359136969363c0ed69a48c0ef5624bf.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/Wolke/wolken.png"
|
||||||
|
dest_files=["res://.godot/imported/wolken.png-7359136969363c0ed69a48c0ef5624bf.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=0
|
9
scenes/easteregg/Spawner/easteregg_spawner.gd
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
extends Marker2D
|
||||||
|
|
||||||
|
func _spawn() -> void:
|
||||||
|
var easteregg = preload("res://scenes/easteregg/easteregg.tscn").instantiate()
|
||||||
|
add_child(easteregg)
|
||||||
|
|
||||||
|
func del_all():
|
||||||
|
for child in get_children():
|
||||||
|
child.queue_free()
|
12
scenes/easteregg/easteregg.gd
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
extends RigidBody2D
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
$Sprite.frame = randi_range(0,4)
|
||||||
|
position.x += randi_range(-10,10)
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
pass
|
22
scenes/easteregg/easteregg.tscn
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
[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"]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_ruej1"]
|
||||||
|
radius = 8.06226
|
||||||
|
|
||||||
|
[node name="RigidBody2D" type="RigidBody2D"]
|
||||||
|
script = ExtResource("1_3dnpr")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(0, -7)
|
||||||
|
shape = SubResource("CircleShape2D_ruej1")
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite2D" parent="."]
|
||||||
|
texture_filter = 1
|
||||||
|
position = Vector2(0, -7)
|
||||||
|
texture = ExtResource("1_al4up")
|
||||||
|
offset = Vector2(0, 0.5)
|
||||||
|
hframes = 5
|
||||||
|
frame = 3
|
24
scenes/hindernis/Spawner/hindernis_spawner.gd
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
extends Marker2D
|
||||||
|
|
||||||
|
var speed
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
speed = $"/root/Global".speed #get_parent().speed
|
||||||
|
|
||||||
|
|
||||||
|
func _spawn() -> void:
|
||||||
|
var hindernis = preload("res://scenes/hindernis/hindernis.tscn").instantiate()
|
||||||
|
speed = $"/root/Global".speed
|
||||||
|
hindernis.speed = speed
|
||||||
|
|
||||||
|
var v1 = 1.5 - (speed / 260)
|
||||||
|
var v2 = 2.0 - (speed / 260)
|
||||||
|
print(str(v1)," ",str(v2))
|
||||||
|
|
||||||
|
$"../SpawnTimer".wait_time = randf_range(v1,v2)
|
||||||
|
print("speed: ",speed)
|
||||||
|
add_child(hindernis)
|
||||||
|
|
||||||
|
func del_all():
|
||||||
|
for child in get_children():
|
||||||
|
child.queue_free()
|
11
scenes/hindernis/hindernis.gd
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
extends CharacterBody2D
|
||||||
|
|
||||||
|
@onready var speed = 0
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
$"Sprite".frame = randi_range(0,4)
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
speed = $"..".speed
|
||||||
|
global_position.x -= speed*delta
|
36
scenes/hindernis/hindernis.tscn
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
[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"]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_orpyb"]
|
||||||
|
radius = 5.0
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_r1tmj"]
|
||||||
|
radius = 5.0
|
||||||
|
|
||||||
|
[node name="CharacterBody2D" type="CharacterBody2D"]
|
||||||
|
collision_layer = 3
|
||||||
|
collision_mask = 3
|
||||||
|
script = ExtResource("1_e0hqe")
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite2D" parent="."]
|
||||||
|
texture_filter = 1
|
||||||
|
position = Vector2(0, -7)
|
||||||
|
texture = ExtResource("2_thg8w")
|
||||||
|
offset = Vector2(0, 0.5)
|
||||||
|
hframes = 5
|
||||||
|
frame = 3
|
||||||
|
|
||||||
|
[node name="collision" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(0, -7)
|
||||||
|
shape = SubResource("CircleShape2D_orpyb")
|
||||||
|
|
||||||
|
[node name="Area2D" type="Area2D" parent="."]
|
||||||
|
position = Vector2(0, -7)
|
||||||
|
collision_layer = 3
|
||||||
|
collision_mask = 3
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||||
|
shape = SubResource("CircleShape2D_r1tmj")
|
||||||
|
debug_color = Color(0.906661, 0.254677, 0.42413, 0.42)
|
BIN
scenes/hindernis/hindernisse.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
34
scenes/hindernis/hindernisse.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bp48x77dixrme"
|
||||||
|
path="res://.godot/imported/hindernisse.png-2e17c6b239dd45768c8c51c61d217402.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/hindernis/hindernisse.png"
|
||||||
|
dest_files=["res://.godot/imported/hindernisse.png-2e17c6b239dd45768c8c51c61d217402.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
|
89
scenes/schild.tscn
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
[gd_scene load_steps=7 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://code/GUI/restartschild.gd" id="2_pxsow"]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_2ygp6"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:position:y")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_2vs66"]
|
||||||
|
resource_name = "in"
|
||||||
|
length = 0.2
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:position:y")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 2),
|
||||||
|
"points": PackedFloat32Array(-98.5, -0.25, 0, 0.0666667, -21, 2.5, -0.2, 2, 0, 0),
|
||||||
|
"times": PackedFloat32Array(0, 0.2)
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath(".:visible")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_2eby2"]
|
||||||
|
resource_name = "out"
|
||||||
|
length = 0.2
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:position:y")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0),
|
||||||
|
"points": PackedFloat32Array(-0.5, -0.25, 0, 0.25, 0, -100, -0.0666667, 3, 0, 0),
|
||||||
|
"times": PackedFloat32Array(0, 0.2)
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath(".:visible")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0.233333),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_n8lkd"]
|
||||||
|
_data = {
|
||||||
|
"RESET": SubResource("Animation_2ygp6"),
|
||||||
|
"in": SubResource("Animation_2vs66"),
|
||||||
|
"out": SubResource("Animation_2eby2")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Schild" type="Sprite2D"]
|
||||||
|
texture_filter = 1
|
||||||
|
texture = ExtResource("1_wyhk0")
|
||||||
|
script = ExtResource("2_pxsow")
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
libraries = {
|
||||||
|
"": SubResource("AnimationLibrary_n8lkd")
|
||||||
|
}
|
11
schild.gd
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
extends Sprite2D
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|