From dd5b4bcae5927418f49b7294976e2ef7fbbeb3f0 Mon Sep 17 00:00:00 2001 From: megamichi Date: Sun, 10 Nov 2024 19:51:00 +0100 Subject: [PATCH] - improving textures - adding coins (no shop jet) - adding skin changing [no gui jet - fixing loops for deleting stuff] --- assets/GUI/back button.png | Bin 562 -> 559 bytes assets/GUI/buttons fucused/back button f.png | Bin 558 -> 563 bytes assets/GUI/buttons fucused/note button f.png | Bin 581 -> 587 bytes .../GUI/buttons fucused/restart button f.png | Bin 568 -> 574 bytes .../GUI/buttons fucused/settings button f.png | Bin 565 -> 568 bytes assets/GUI/buttons fucused/sound button f.png | Bin 594 -> 600 bytes .../buttons fucused/sound button off f.png | Bin 606 -> 607 bytes assets/GUI/buttons fucused/start button f.png | Bin 554 -> 559 bytes assets/GUI/start button.png | Bin 4502 -> 553 bytes code/GUI/restartschild.gd | 17 +- code/GUI/settingsschild.gd | 15 +- code/GUI/startschild.gd | 21 +- code/first_save.json | 3 +- code/global.gd | 73 ++-- code/hiscore.gd | 8 - code/main.gd | 2 +- code/score.gd | 2 +- scenes/Duck/Duck.gd | 11 +- scenes/Duck/Duck.tscn | 16 +- scenes/Duck/customs/0.png | Bin 0 -> 484 bytes scenes/Duck/customs/0.png.import | 34 ++ scenes/Duck/customs/1.png | Bin 0 -> 731 bytes scenes/Duck/customs/1.png.import | 34 ++ scenes/Duck/customs/2.png | Bin 0 -> 591 bytes scenes/Duck/customs/2.png.import | 34 ++ scenes/Duck/customs/3.png | Bin 0 -> 630 bytes scenes/Duck/customs/3.png.import | 34 ++ scenes/Duck/customs/skin-vorlage.aseprite | Bin 0 -> 1501 bytes scenes/Duck/skin.gd | 5 + scenes/Main.tscn | 381 +++++++----------- scenes/Wolke/wolke.gd | 2 - scenes/Wolke/wolke.tscn | 4 + scenes/coin/coin.gd | 8 +- scenes/coin/coin.tscn | 117 +++++- scenes/coin/spawner/coin_spawner.gd | 2 +- scenes/easteregg/easteregg.gd | 8 - scenes/easteregg/easteregg.tscn | 14 +- scenes/ground/ground.gd | 5 +- scenes/ground/spawner/ground_spawner.gd | 9 + scenes/hurdle/hurdle.gd | 2 - scenes/hurdle/hurdle.tscn | 17 +- scenes/ui/animation.gd | 12 + scenes/{schild.tscn => ui/animation.tscn} | 24 +- scenes/ui/animation_logo.tscn | 15 + scenes/ui/out-in.res | Bin 0 -> 466 bytes 45 files changed, 547 insertions(+), 382 deletions(-) create mode 100644 scenes/Duck/customs/0.png create mode 100644 scenes/Duck/customs/0.png.import create mode 100644 scenes/Duck/customs/1.png create mode 100644 scenes/Duck/customs/1.png.import create mode 100644 scenes/Duck/customs/2.png create mode 100644 scenes/Duck/customs/2.png.import create mode 100644 scenes/Duck/customs/3.png create mode 100644 scenes/Duck/customs/3.png.import create mode 100644 scenes/Duck/customs/skin-vorlage.aseprite create mode 100644 scenes/Duck/skin.gd create mode 100644 scenes/ui/animation.gd rename scenes/{schild.tscn => ui/animation.tscn} (50%) create mode 100644 scenes/ui/animation_logo.tscn create mode 100644 scenes/ui/out-in.res diff --git a/assets/GUI/back button.png b/assets/GUI/back button.png index aa50732d17769efb307453795f028be881e572d3..85c3d04b0990a5d6d438f7528a92325280499a75 100644 GIT binary patch delta 131 zcmV-}0DS+l1g`|Jv;li&Nkl-+yDRo diff --git a/assets/GUI/buttons fucused/back button f.png b/assets/GUI/buttons fucused/back button f.png index 5b7a704df2e9626fe604de5502988ee86edb014c..31ccef66c3006c8207314bae4c83a36eb192ab1c 100644 GIT binary patch delta 135 zcmV;20C@kd1hWLNv;lu=NklCjb pgCzwoZozW-f^M#~VWr(JnLRWR zHNxu$0HlD~j9m=gydj!_UxAe1rKkRX=fwsxxS10=#Y2}ECoskZ7~`jdiv{NgOA0Y{*gMm(e zZ+{SQh;$+%QU!<-lY#`UWFS$CybRa`S*=mUv3~b+a{W7T!egrX*lf97J zaKoLtA~e)tHnRrs3+L|yfWBNKz#NbrGXj9?qmH--1U)FO33C|Dwo50LP%c()IV2$f O0000Hn1jPifv;lv7Nkl%|o%)cDvn*9s=U=o?N>z%V?} z)A9*9ZMO4&fN!||XQx)+JOD@lPDH&A3PvR3!{mfb&GwWobKw##Zy884mjD0&07*qo IM6N<$f;tyOrT_o{ diff --git a/assets/GUI/buttons fucused/restart button f.png b/assets/GUI/buttons fucused/restart button f.png index cb9452a8b9a927cf9257ad218f4f2ecb6bea8b9c..498b6e7b57aacbc240e17be8c2e3dce147972af2 100644 GIT binary patch delta 146 zcmV;D0B!%c1il2YwE=&0NklL2t>K2lQ@^N)U=D!A5^rcq~4E^@D5Ok zHUyn8GcN(4FeND94FeG+ZVccC4TB12FcMK1fKN35fOA^3(BUhSiGIPcJKgX_^$vpM zB70}8ynj@28o{0WO#AQbHn4u!$6z+9YPh8r$NnsD5Dx1&000UA07*qoM6N<$f(8#h A^#A|> delta 140 zcmV;70CWGo1h@pSwE=%_NklWoF|$kQF4@!mv}#gO!TX7V?-UJD zL$C=ma|!^$NFd-12YGezVt_K}7%2RKBLJrw0Kgd*B|2(l{zNr+Y;PIfJDNO)C+QAs uOho>|qKzB%?_4(Ue%Q|-8r3vx=>glmEOe-NA6@_e002ovPDBK*LSTZy96K@q diff --git a/assets/GUI/buttons fucused/settings button f.png b/assets/GUI/buttons fucused/settings button f.png index 56b25b53781987b9408ffe1dbd1766d0f40e8354..592330be3a5313d4f2d5be221a76a72c5d63a373 100644 GIT binary patch delta 141 zcmV;80CNAe1h@pSv;lu_NklL2t*IlxoO&2I+v@^A45*!SYpZ~BeAbP49c%&a)w=MNPcS`{P0000Om`{W#Xap$5H+?6-j9adI|Bw_ zAhZV&krF^uMjHhmOpvWxTmY6J?aF7sQd0*Ez6F&mNdBsZDbyBBNzdMLl^~~%kI79i shnpZkXU|b)&+{L41pGbK3>@hNOj{_^GVJmM00000NkvXXu0jG}g4FCbVgLXD diff --git a/assets/GUI/buttons fucused/sound button f.png b/assets/GUI/buttons fucused/sound button f.png index ea737a7f70474318b732f249cf122a09bb3d8a53..d91573284e6424ef143c89ce2624b70dd38dc3eb 100644 GIT binary patch delta 173 zcmV;e08;29@{6)z}i)2}nO_`>Z7=aOi`wpRf|ZO+&(_ bvOT32j;u0zd^i6^00000NkvXXu0mjfm(EUm delta 167 zcmV;Y09gOn1kwbsv;lvKNklT^hJifQVK$4N?du&A3zYTCb_+i3vcq4J@o$q%e2T382W`^|YW@ zk@qwH&}aP!m!Kj8*yAy?iF7f(p)Stl2)HpwKdCP305J7NxpyB}GGLW+*pRn}bOEv@ VGB%P@(QyC(002ovPDHLkV1l4yN>Ts- diff --git a/assets/GUI/buttons fucused/sound button off f.png b/assets/GUI/buttons fucused/sound button off f.png index f8f9af882d74179ba3507dc992ff09b9d9f6b479..d0ec8b7affe68f234d5457fd627c66b983558b6b 100644 GIT binary patch delta 180 zcmV;l089Vg1m6U(v;lvXNklev10)6XcAvxy#p(71o+u{ zwxH__Ks0LLZ*qgPJpK>%it7m82VlH`Nx+^ye$z+^*c1_wJJl>2fMlZv5+4VP%DFnw i+#niN9X8e5Q@Q|ATsd=(fGO|*0000+1jj002ovPDHLkV1h-;O%wnC diff --git a/assets/GUI/buttons fucused/start button f.png b/assets/GUI/buttons fucused/start button f.png index 9f73d0d48eb18d8dccc5a8e099b08fd966f2a745..e1f0d5c6c9aa93589c4ccced8609dadc5fbdbc92 100644 GIT binary patch delta 131 zcmV-}0DS+d1g`|Jv;li&Nkl)rn3+>RBt{+rFLKC8XH(EzcrNgmfBS77NRk4Jy{rm;;iMqP0C4Q$2f)390~q53 lTHMufMNsXPF06FhrMw)vDQ^UA%}D?N002ovPDHLkV1gh#Ih+6h delta 126 zcmV-^0D=Fn1gZqEv;lTuNklC&g#Z8m07*qoM6N<$f)lDWZ2$lO diff --git a/assets/GUI/start button.png b/assets/GUI/start button.png index 2041467aee76da0174c43fba7f9663d2a862aca5..b63b13a3657b622034459e42cfdb15ec7c598de4 100644 GIT binary patch delta 142 zcmV;90CE48BdG+CBa!hF0w|HQ1_5;ee3Sdw;Z8Yvz$I|i81{DGJvQ9k9=i*7 zU@YTD6|7DaZ9^SvLmHdLG4#VqwIqHN7?NmfYHgy}bg(fac5I}^N|S2ryLW)cBr_eR z^*`=rZ{L01=lQ+Q^Lu{pJGU*KlA_FvM>7xv$#gj#W$->zyV6tPZ|=L_TM2K!ZS+>E zWo#6U$dVui0jf4c019HFfFQB{kf(G;H=2I;>fGFoU&>k7*I~MtS$~IZcVD``ByT8x zfBNFD+?-~A@`$&=6CTHKhIX;V+X z-Rt~IY2`;L9}c~+wbbTNuwU_+S(#ZYh%4maXRmpm?EmMq)6Qt~;x2Fitu}wdZmvS#})J1D@I{F^(+}X5_L6+4I__kcuT_+G^%4V^kz~d?? z7_A1@uy6e?yR&=w!ro`fduQfstoPJ5dw$qoSh%p}%iBEd=QCbo+SYuU;(oMs?pKRW z9T^zt^Z)5oudgDlB7fE$q_#d%rtW&=-V1ZT)f0>S`T6MZqUa5zeXVft;_MXf@946B zw6(p}vF+)f4W1%X$t^$cDPFJpLGelDx%a#K-s?&~doyqN>R`G2wW-fxwR^5@DSSQO zc38Z&Z@6XCq3oqSS9{n^I_I4?>n?t1{(Z{Ul>PG!=U#32EBcGdYVOz$-yb|Jue20w zJ6L*rXRYt@>%Bg_!uRq1JKx!`uk)8@>h}J)nVY@JxnlG7oR!(#D>gs1WA2=#{m(c2 zt7u_U>l*sl%Bm}s%Tsb5@0Rw97d2Ct3{};N_R2C zNg*A}OMak>g(6UP2x40ni?Cb`P*Fb!h+#W+qw55Qio6}GFuF;1qySWl&PExOHx`BM|V(j#aB_gdvD%G^&g0b&?z)D67>zaRdFDE$>7(RwO&U>`>xHI%}yBUYX)oJOu9Cl1wpW!7= z~E**Fx>F;7Txh=uJGLu>#Lk#HbBp%KpHdt7#m){*xuo*=6VFu;x# zi{ZN1{Ryua0_7^Ju}PU}Gi|ZzX(L6Eq$w%-DIhCQi5ezF>hz{~xYia176XZ8HJw6$ zxEC{B(_=)gqjvENq`>kPy~#ovakE8}0%Z|!KMx;iy`C1VCOvP~C)6~Cu1JC!Wo3{b zfILF3pgiMTq1o|9Eghdrv>Iq#fP~?s6{3166JsD5qh*9J;=z|l3lznZf(19}Sqp9; zNvKXU$>A2B;%LFdT3~YHlm4Gd9MuGE9ABc1(2m8?rrL2b$Kp9Qoetvj@(tnsE|Mf5@}-yK_qN-oNnatJv&l>LRRtPfvc+V{c_4 zL*0uF*AK|q=&GMCSo48&{LF^i+n%ZFIc>Uo?{w|Udry^YnAf>F`0LPWwd(D8*Kd|B f_~g*Os($XOCLoN{Fkl#L=;$YU6(ZjXg)9 diff --git a/code/GUI/restartschild.gd b/code/GUI/restartschild.gd index 8ef64b5..ae3ee62 100644 --- a/code/GUI/restartschild.gd +++ b/code/GUI/restartschild.gd @@ -1,33 +1,22 @@ extends TextureRect -# Called when the node enters the scene tree for the first time. func _ready() -> void: $AnimationPlayer.play_backwards("out-in") hide() - -func _process(_delta: float) -> void: - pass - #global_position.x = get_viewport().get_visible_rect().size.x * 0.5 + func _on_duck_gameover() -> void: - $AnimationPlayer.play_backwards("out-in") + $AnimationPlayer.pop_in() $"../../Audio/GameOver".play() - $"../../Audio/Gui-in".play() - show() $Restart.grab_focus() print($"/root/Global".hiscore) if %ScoreContainer.get_score() > $"/root/Global".hiscore: $"/root/Global".write_save() - - func _on_restart_pressed() -> void: $"../..".start_game() - $AnimationPlayer.play("out-in") - $"../../Audio/Gui-out".play() - await $AnimationPlayer.animation_finished - hide() + $AnimationPlayer.pop_out() func _on_back_pressed() -> void: diff --git a/code/GUI/settingsschild.gd b/code/GUI/settingsschild.gd index db29900..4f12069 100644 --- a/code/GUI/settingsschild.gd +++ b/code/GUI/settingsschild.gd @@ -5,7 +5,7 @@ var audio_bus_sounds = 2 var sound_button_on_of = {true:preload("res://assets/GUI/sound button.png"),false:preload("res://assets/GUI/sound button off.png")} var sound_button_on_of_f = {true:preload("res://assets/GUI/buttons fucused/sound button f.png"),false:preload("res://assets/GUI/buttons fucused/sound button off f.png")} -# Called when the node enters the scene tree for the first time. + func _ready() -> void: #$"../../Audio/Duckrun".volume_db = linear_to_db(20*0.01) $AnimationPlayer.play_backwards("out-in") @@ -16,25 +16,18 @@ func _process(_delta: float) -> void: #$Logo.global_position.x = 0 func open(): - show() - $AnimationPlayer.play_backwards("out-in") - $"../../Audio/Gui-in".play() + $AnimationPlayer.pop_in() $BackButton.grab_focus() func _on_back_pressed() -> void: - $AnimationPlayer.play("out-in") - $"../../Audio/Gui-out".play() - await $AnimationPlayer.animation_finished - hide() + $AnimationPlayer.pop_out() $"../StartSchild"._ready() - - func _volume_slider_changed(value: float) -> void: 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_focused = sound_button_on_of_f[AudioServer.is_bus_mute(audio_bus_sounds)] AudioServer.set_bus_mute(audio_bus_sounds,not AudioServer.is_bus_mute(audio_bus_sounds)) diff --git a/code/GUI/startschild.gd b/code/GUI/startschild.gd index 1d53da3..2831b50 100644 --- a/code/GUI/startschild.gd +++ b/code/GUI/startschild.gd @@ -1,28 +1,21 @@ extends TextureRect + # Called when the node enters the scene tree for the first time. func _ready() -> void: - $AnimationPlayer.play_backwards("out-in") - $"../../Audio/Gui-in".play() - show() + $"../StartSchildLogo/AnimationPlayer".pop_in() + $AnimationPlayer.pop_in() $Start.grab_focus() - -func _process(delta: float) -> void: - $Logo.global_position.x = -5 func _on_start_pressed() -> void: + $AnimationPlayer.pop_out() + $"../StartSchildLogo/AnimationPlayer".pop_out() $"../..".start_game() - $AnimationPlayer.play("out-in") - $"../../Audio/Gui-out".play() - await $AnimationPlayer.animation_finished - hide() func _on_settings_pressed() -> void: - $AnimationPlayer.play("out-in") - $"../../Audio/Gui-out".play() - await $AnimationPlayer.animation_finished - hide() + $"../StartSchildLogo/AnimationPlayer".pop_out() + $AnimationPlayer.pop_out() $"../Settings".open() diff --git a/code/first_save.json b/code/first_save.json index 9df3c7e..4371548 100644 --- a/code/first_save.json +++ b/code/first_save.json @@ -1,3 +1,4 @@ { - "hiscore":0 + "hiscore":0, + "coins":0 } diff --git a/code/global.gd b/code/global.gd index 2e23c48..10e2ef3 100644 --- a/code/global.gd +++ b/code/global.gd @@ -12,40 +12,13 @@ var active_biom var gamerunning = false -var hiscore +var hiscore:int +var coins:int func _ready() -> void: - load_save() - #write_save() -func load_save(): - 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) - + var save = load_save() + hiscore = save["hiscore"] + coins = save["hiscore"] func reset_game(): speed = 100 @@ -53,5 +26,39 @@ func reset_game(): active_biom = "n" gamerunning = false _ready() - $/root/Game/Fade/FadeAnimation.play("fade") 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() diff --git a/code/hiscore.gd b/code/hiscore.gd index 0530526..e500721 100644 --- a/code/hiscore.gd +++ b/code/hiscore.gd @@ -1,13 +1,5 @@ extends Label -# Called when the node enters the scene tree for the first time. func _ready() -> void: 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) diff --git a/code/main.gd b/code/main.gd index 150002b..2077ebd 100644 --- a/code/main.gd +++ b/code/main.gd @@ -1,7 +1,7 @@ extends Node func _ready() -> void: - $Fade/FadeAnimation.play_backwards("fade") + $Fade/Animation.play_backwards("fade") $Screen/Background/Floor/EasterEggFixCollision.disabled = false $Gui/HiscoreContainer.show() %ScoreContainer.hide() diff --git a/code/score.gd b/code/score.gd index e4d6aea..942935e 100644 --- a/code/score.gd +++ b/code/score.gd @@ -7,7 +7,7 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta: float) -> void: +func _process(_delta: float) -> void: pass func get_score(): diff --git a/scenes/Duck/Duck.gd b/scenes/Duck/Duck.gd index eff2a1b..b5eb799 100644 --- a/scenes/Duck/Duck.gd +++ b/scenes/Duck/Duck.gd @@ -7,6 +7,9 @@ signal gameover @onready var alive = true var state = "main-menu" +func _ready() -> void: + %Skin.change_to(0) + func die(): print("die") gameover.emit() @@ -26,7 +29,7 @@ func _physics_process(delta: float) -> void: move_and_slide() 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: die() @@ -43,11 +46,6 @@ func _process(_delta: float) -> void: else: $AnimationPlayer.play("walk") -func _collide_with_hindernis(_body: Node2D) -> void: - pass - #if alive: - # die() - func _color_slider_changed(value) -> void: $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: $EnteConstantSprite/EnteColormask.frame = $EnteConstantSprite.frame + $EnteConstantSprite/Skin.frame = $EnteConstantSprite.frame diff --git a/scenes/Duck/Duck.tscn b/scenes/Duck/Duck.tscn index cbc47ed..c4f757f 100644 --- a/scenes/Duck/Duck.tscn +++ b/scenes/Duck/Duck.tscn @@ -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="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://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"] length = 0.001 @@ -113,8 +115,9 @@ libraries = { [node name="EnteConstantSprite" type="Sprite2D" parent="."] texture_filter = 3 -position = Vector2(0, -7) +position = Vector2(-8, -16) texture = ExtResource("1") +centered = false hframes = 3 vframes = 2 frame = 4 @@ -122,9 +125,18 @@ frame = 4 [node name="EnteColormask" type="Sprite2D" parent="EnteConstantSprite"] modulate = Color(1, 1, 0, 1) texture = ExtResource("3_a4v8w") +centered = false hframes = 3 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="."] position = Vector2(2.38419e-07, -6) scale = Vector2(5, 5) diff --git a/scenes/Duck/customs/0.png b/scenes/Duck/customs/0.png new file mode 100644 index 0000000000000000000000000000000000000000..fdcdc40d62911cc810143442102febb987bcd0f0 GIT binary patch literal 484 zcmVEX>4Tx04R}tkv&MmKpe$iQ>9WW3RVzt$WWc^q9Tr3g(6f4wL+^7CYOFelZGV4 z#ZhoAIQX$xb#QUk)xlK|1V2EW9h?+hq{ROvg%&X$9QWhhy~o`jaO!U!RPLG;VaGUg;H1>f;?j{slq;yla$+@GUY&07ozh{UtZFm2)u;^|G> z;Ji;9WhGf9J|`YG>4L)|5Tqat9cCGGtSBr65hAPypV~=$mrDz%3A7^LlITEX>4Tx04R}tkv&MmKpe$iQ>9WW3RVzt$WWc^q9Tr3g(6f4wL+^7CYOFelZGV4 z#ZhoAIQX$xb#QUk)xlK|1V2EW9h?+hq{ROvg%&X$9QWhhy~o`jaO!U!RPLG;VaGUg;H1>f;?j{slq;yla$+@GUY&07ozh{UtZFm2)u;^|G> z;Ji;9WhGf9J|`YG>4L)|5Tqat9cCGGtSBr65hAPypV~=$mrDz%3A7^LlIT!pb0(WV5L7n-)_QU#S3Bqfii z7>|L740DZGL1KBFN&{pt2&@n0!4V@Rq%_XvdX5;MoC;?P0f4^6xR*yx&q%_K*S8pN zcY6)ZMa2Ms@YP&gkglO~D35CYiEsH=DT<;fN-kBrh*XRiRm|A|ekKU_)hzMQlzyzP z)HY{Q1}_N50!SoL9K-EB|9Eo!j7#++=l7o9Z=Wz{Sus2z0}+{dp~)3g#he{r@C*g| zFX;ln2Ar=;#Guz*ee1uHo~g=ncjsjtGF?L#w;(@fS@&);MNyRh-~mo~l}Y&<`_}*f N002ovPDHLkV1nPHMm7Kd literal 0 HcmV?d00001 diff --git a/scenes/Duck/customs/1.png.import b/scenes/Duck/customs/1.png.import new file mode 100644 index 0000000..5f05c8e --- /dev/null +++ b/scenes/Duck/customs/1.png.import @@ -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 diff --git a/scenes/Duck/customs/2.png b/scenes/Duck/customs/2.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1d60f252441bcbd21e1b4db0118c9682b86c40 GIT binary patch literal 591 zcmV-V010C8=2pef zE5ZmNfTybGn1YtjuMN-4pustl}wFzia4ffI^_#lk5$fFoV7}g zweHDZ7|H7^%Uq{9f+QBP1PLM()KEqRHsZAEq*zGPe!|B;?D{2gDdZ}Hkz)Z>Xpmh$ z_#gc4)+$U+cuA22(EZ{#AEQ8M7iiWU=lj@knkPW;8MxBh{%Ql5`6RvG)?!CM-!^b@ z-PV*n;Bp5TdNO2FcBLRqp-=$c&*+uem7;RwXO&v+qlxw|1(T_Pma?`7PkY2L-JOJP)10C8=2pef zE5ZmNfTybGn1YtjuMN-4pustl}wFzia4ffI^_#lk5$fFoV7}g zweHDZ7|H7^%Uq{9f+QBP1PLM()KEqRHsZAEq*zGPe!|B;?D{2gDdZ}Hkz)Z>Xpmh$ z_#gc4)+$U+cuA22(EZ{#AEQ8M7iiWU=lj@knkPW;8MxBh{%Ql5`6RvG)?!CM-!^b@ z-PV*n;Bp5TdNO2FcBLRqp-=$c&*+40DUZ5xN8m?ZVql-9rCZ{?$ zI(Ps@vZlxA2`Y$V9Hb(WKoe?k_@1eR^ykm`f{2KSh)7BPu=M?I;lIECVUMOJxXY~c zA}Rl$H~8EALA7-Tz^trkonw8(gzg6qhd}^c5A*7E*7ZaO{c1*2<5TX7h=_=YNS3LC ztVH0AinH8Brg%WgjOb%7S4-<0u|!RkJ8yro@6sG%FJ@H1eHLSGX_lzPCnBPFFe?3} Q!2kdN07*qoM6N<$f>Spni2wiq literal 0 HcmV?d00001 diff --git a/scenes/Duck/customs/3.png.import b/scenes/Duck/customs/3.png.import new file mode 100644 index 0000000..725f313 --- /dev/null +++ b/scenes/Duck/customs/3.png.import @@ -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 diff --git a/scenes/Duck/customs/skin-vorlage.aseprite b/scenes/Duck/customs/skin-vorlage.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..29091cdb7fab329362ac0c7c67f1d8ca6e04440d GIT binary patch literal 1501 zcmcIie@s(X6#iO3SO=p_oC9Zg3bHJdIfM;#vH@1fqDv4lgK8aZfnuO7wlEwhE|H8Z zQRcu&k?}+D$1=1t;zU_Gw!tQ0X(}0=lzs{Af*=RL@PM7O_oZr;7$JLmiE zx%b@D=LY#7FjLt5Y}cX z)q2-xK&{EqCB(%tNy$>i{XRr+hbNXnELZBYW8&ktFA^{M8U2;NBz_6u_F5GB?;o$! zG`$iKFhq@3X6teYrx1QUFDIMB2Ex9|3^|ohaDnhz9UYKxH|JN(;vo*Jc+6kQSC^Qu z84&uCpHVHqiUnAip;HqloH#+LY7Ol#Oq#{196rclbyhB&jW_PaJkvD0cG4O|-wTMt z+js}@^u!9}Vjr@QgAiIZT?>$er zH`k2+)a_q6bM=cPfgeNd%$w`nx^OWXjVxd`n`s^x7@(OY^COBY*OZ);C=};{EW4Tu zF#O5qb|D4zx+GVb8M0ZMrPZx^EaNFib`c{XO`j9+Sb{sYDAF`(%=(wOtPC|M4VLdl z;$s~GaNzSl4Vj|0S3QdKZ0o~dlVn}#8sC`SOrN6a#=X*Q#@ojnABUXA8~HlW_=Jj<1EN~))csP z=2WY$e){s6_iYoIRes+LwvS(O#D({$mb_8t)88~?>b`9_I&B*2Y?keB9I@!GI6I|3 zDhDkC?cK&}HHSw1&e!yYwp_~BCI%`m*j%j93VWBh@p@Q+R?@n(J}S2_RONl;@YwyI zt4&iYO?gGK;pEYXhr=f=4ttU*;z*RVfK;6ZYnAom@vZqJnjEvI{C>j_B|g@9cx9M9 z!d7yp|HX@A_QF?oe)L=umBoz_UOzZ_mp*DpnXI*M2(AhWde?Gu`axi|B@ny$~juzSQiB&D~Q5$0mxi@?u k!e;)e(e>$xyu@u&Ef(kHZ@ndZZ)KGK void: func _process(delta: float) -> void: global_position.x -= speed * delta - if global_position.x < -30: - queue_free() diff --git a/scenes/Wolke/wolke.tscn b/scenes/Wolke/wolke.tscn index baa4016..39ad59a 100644 --- a/scenes/Wolke/wolke.tscn +++ b/scenes/Wolke/wolke.tscn @@ -8,3 +8,7 @@ texture_filter = 1 texture = ExtResource("1_c6lhp") hframes = 5 script = ExtResource("2_tsh5n") + +[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] + +[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"] diff --git a/scenes/coin/coin.gd b/scenes/coin/coin.gd index 5e85b24..e970335 100644 --- a/scenes/coin/coin.gd +++ b/scenes/coin/coin.gd @@ -12,9 +12,11 @@ func _physics_process(delta: float) -> void: func _on_body_entered(body: Node2D) -> void: if body.name == "Duck": + #print("duck touched") $AnimationPlayer.play("explode") - await $AnimationPlayer.animation_finished - queue_free() + #await await $AnimationPlayer.animation_finished + ##queue_free() + #print("animation finisched") # add coin if body.name == "hurdle": - queue_free() + pass#queue_free() diff --git a/scenes/coin/coin.tscn b/scenes/coin/coin.tscn index 5195fc2..9f0358c 100644 --- a/scenes/coin/coin.tscn +++ b/scenes/coin/coin.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://b0au341yw6g52"] +[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"] @@ -29,6 +29,71 @@ tracks/1/keys = { "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" @@ -46,23 +111,6 @@ tracks/0/keys = { "values": [0, 1, 2, 1] } -[sub_resource type="Animation" id="Animation_6xqsk"] -resource_name = "explode" -length = 0.1 -step = 0.01 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite:modulate") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.09), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_om3ic"] _data = { "RESET": SubResource("Animation_jfpvc"), @@ -73,7 +121,32 @@ _data = { [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="."] @@ -90,4 +163,12 @@ libraries = { 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"] diff --git a/scenes/coin/spawner/coin_spawner.gd b/scenes/coin/spawner/coin_spawner.gd index f6fdde0..eb3c86d 100644 --- a/scenes/coin/spawner/coin_spawner.gd +++ b/scenes/coin/spawner/coin_spawner.gd @@ -13,7 +13,7 @@ func _spawn() -> void: var v1 = 1.5 - (speed / 200)#260 var v2 = 2.0 - (speed / 200) - coin.global_position.y -= randi_range(0,2)*16 + coin.global_position.y -= randi_range(0,2)*14 $"../CoinSpawnTimer".wait_time = randf_range(v1,v2) add_child(coin) diff --git a/scenes/easteregg/easteregg.gd b/scenes/easteregg/easteregg.gd index 8305e24..c9f2427 100644 --- a/scenes/easteregg/easteregg.gd +++ b/scenes/easteregg/easteregg.gd @@ -1,13 +1,5 @@ extends RigidBody2D - -# Called when the node enters the scene tree for the first time. func _ready() -> void: $Sprite.frame = randi_range(0,12) position.x += randi_range(-10,10) - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta: float) -> void: - if global_position.y > 100: - queue_free() diff --git a/scenes/easteregg/easteregg.tscn b/scenes/easteregg/easteregg.tscn index 31dc800..b2e0a6a 100644 --- a/scenes/easteregg/easteregg.tscn +++ b/scenes/easteregg/easteregg.tscn @@ -10,14 +10,20 @@ radius = 8.06226 script = ExtResource("1_3dnpr") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2(0, -7) +position = Vector2(8, 9) 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) +centered = false hframes = 5 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"] diff --git a/scenes/ground/ground.gd b/scenes/ground/ground.gd index 414ae65..ce3c702 100644 --- a/scenes/ground/ground.gd +++ b/scenes/ground/ground.gd @@ -7,11 +7,10 @@ var speed: float func _ready() -> void: pass -func _physics_process(delta: float) -> void: +func _process(delta: float) -> void: if $"/root/Global".gamerunning: + print("ahhhh") global_position.x -= $"/root/Global".speed*delta - if global_position.y < -30: - queue_free() func screen_e() -> void: diff --git a/scenes/ground/spawner/ground_spawner.gd b/scenes/ground/spawner/ground_spawner.gd index 6f970bc..40a5359 100644 --- a/scenes/ground/spawner/ground_spawner.gd +++ b/scenes/ground/spawner/ground_spawner.gd @@ -21,6 +21,15 @@ func probability(prozent): return randf() > 1 - (0.01 * prozent) func change_biom(): + #if active_biom == "w_n": + # active_biom = "n" + #elif active_biom == "s_n": + # active_biom = "n" + #elif active_biom == "n_w": + # active_biom = "w" + #elif active_biom == "n_s": + # active_biom = "s" + if biom_type == "n": change_in -= 1 if probability(60): diff --git a/scenes/hurdle/hurdle.gd b/scenes/hurdle/hurdle.gd index 489b438..170608b 100644 --- a/scenes/hurdle/hurdle.gd +++ b/scenes/hurdle/hurdle.gd @@ -15,5 +15,3 @@ func _ready() -> void: func _process(delta: float) -> void: speed = $"/root/Global".speed global_position.x -= speed*delta - if global_position.x < -30: - queue_free() diff --git a/scenes/hurdle/hurdle.tscn b/scenes/hurdle/hurdle.tscn index 9f5c041..873d1fe 100644 --- a/scenes/hurdle/hurdle.tscn +++ b/scenes/hurdle/hurdle.tscn @@ -7,7 +7,7 @@ radius = 5.0 [sub_resource type="CircleShape2D" id="CircleShape2D_r1tmj"] -radius = 5.0 +radius = 6.0 [node name="hurdle" type="CharacterBody2D"] collision_layer = 3 @@ -16,17 +16,17 @@ script = ExtResource("1_e0hqe") [node name="Sprite" type="Sprite2D" parent="."] texture_filter = 1 -position = Vector2(0, -8) +position = Vector2(-8, -15) texture = ExtResource("2_thg8w") -offset = Vector2(0, 0.5) +centered = false hframes = 5 vframes = 3 -frame = 14 +frame = 8 region_enabled = true region_rect = Rect2(0, 0, 80, 48) [node name="collision" type="CollisionShape2D" parent="."] -position = Vector2(0, -7) +position = Vector2(0, -5) shape = SubResource("CircleShape2D_orpyb") [node name="Area2D" type="Area2D" parent="."] @@ -35,5 +35,12 @@ collision_layer = 3 collision_mask = 3 [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2(0, 1) shape = SubResource("CircleShape2D_r1tmj") 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"] diff --git a/scenes/ui/animation.gd b/scenes/ui/animation.gd new file mode 100644 index 0000000..bde2413 --- /dev/null +++ b/scenes/ui/animation.gd @@ -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() diff --git a/scenes/schild.tscn b/scenes/ui/animation.tscn similarity index 50% rename from scenes/schild.tscn rename to scenes/ui/animation.tscn index a11b637..53e6daf 100644 --- a/scenes/schild.tscn +++ b/scenes/ui/animation.tscn @@ -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://code/GUI/restartschild.gd" id="2_pxsow"] +[ext_resource type="Script" path="res://scenes/ui/animation.gd" id="1_43757"] [sub_resource type="Animation" id="Animation_hmob6"] length = 0.001 @@ -17,7 +16,7 @@ tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "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) } @@ -27,21 +26,8 @@ _data = { "out-in": SubResource("Animation_wgvxk") } -[node name="Schild" type="TextureRect"] -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="."] +[node name="AnimationPlayer" type="AnimationPlayer"] libraries = { "": SubResource("AnimationLibrary_ur3ij") } +script = ExtResource("1_43757") diff --git a/scenes/ui/animation_logo.tscn b/scenes/ui/animation_logo.tscn new file mode 100644 index 0000000..a443321 --- /dev/null +++ b/scenes/ui/animation_logo.tscn @@ -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") diff --git a/scenes/ui/out-in.res b/scenes/ui/out-in.res new file mode 100644 index 0000000000000000000000000000000000000000..d21b3bed4af9d9848ee3c856e423c0db5c80497d GIT binary patch literal 466 zcmV;@0WJPgQ$s@n000005C8z|0ssKI0RR9fwJ-f(>;Z)h045blJ3vj8#>32`({#0D zoYBcG%N?ZS?o!|R$jQFp-kVt6SR{$fGM6If@$DiqnWtiz%t9nH`iwP`b^!mUG5|LK zH~^6sZbhkBsmoRIqPCh@q&t5Fe;$qUe@yuszX1*z6(%B#n4lQOR~`0X=7;=_-{Qac z6&AQtoxC^>uC;YWiM<1_{M4y3QBUP&wbsh63O;IQR;8=tR{8^Yt%y-F#;a2^z`gze zFXmu$u~&b`f?pCL&`9tP5HR<3Sk7a@45-FdkNnLJv}eC~<;uAu(ifnP~VR(kv`O+BOY_ z7ikqn7HI>8wAWN56}~7h(gt#HJ0L&;gOnL>uo55=@G~0-x&p-jST|T%y