From d549f68f30110d08d3433b79dcf06438beebe2ec Mon Sep 17 00:00:00 2001 From: GabriellePipo Date: Mon, 23 Jun 2025 21:04:19 -0400 Subject: [PATCH] parralax background, two terrains, collectable coin, some graphics, physics layer --- assets/Graphics/Terrains/forestbackground.png | Bin 0 -> 934 bytes .../Terrains/forestbackground.png.import | 34 ++ assets/Graphics/Terrains/forestsky.png | Bin 0 -> 670 bytes assets/Graphics/Terrains/forestsky.png.import | 34 ++ assets/Graphics/Terrains/mushroom_32x64.png | Bin 0 -> 2352 bytes .../Terrains/mushroom_32x64.png.import | 34 ++ assets/Graphics/Terrains/spookytrees.png | Bin 0 -> 2372 bytes .../Graphics/Terrains/spookytrees.png.import | 34 ++ assets/Graphics/Terrains/veg_32x32.png | Bin 0 -> 675 bytes assets/Graphics/Terrains/veg_32x32.png.import | 34 ++ assets/Graphics/pickups/coin.png | Bin 0 -> 500 bytes assets/Graphics/pickups/coin.png.import | 34 ++ project.godot | 9 + scenes/coin.tscn | 113 +++++ scenes/game.tscn | 388 +++++++++++++++++- scenes/player.tscn | 3 + scripts/coin.gd | 17 + scripts/coin.gd.uid | 1 + scripts/gamecontroller.gd | 8 + scripts/scene_manager.gd | 7 + 20 files changed, 745 insertions(+), 5 deletions(-) create mode 100644 assets/Graphics/Terrains/forestbackground.png create mode 100644 assets/Graphics/Terrains/forestbackground.png.import create mode 100644 assets/Graphics/Terrains/forestsky.png create mode 100644 assets/Graphics/Terrains/forestsky.png.import create mode 100644 assets/Graphics/Terrains/mushroom_32x64.png create mode 100644 assets/Graphics/Terrains/mushroom_32x64.png.import create mode 100644 assets/Graphics/Terrains/spookytrees.png create mode 100644 assets/Graphics/Terrains/spookytrees.png.import create mode 100644 assets/Graphics/Terrains/veg_32x32.png create mode 100644 assets/Graphics/Terrains/veg_32x32.png.import create mode 100644 assets/Graphics/pickups/coin.png create mode 100644 assets/Graphics/pickups/coin.png.import create mode 100644 scenes/coin.tscn create mode 100644 scripts/coin.gd create mode 100644 scripts/coin.gd.uid diff --git a/assets/Graphics/Terrains/forestbackground.png b/assets/Graphics/Terrains/forestbackground.png new file mode 100644 index 0000000000000000000000000000000000000000..5f37aa6c85ac4e84e0b1a930a258ebf22763692e GIT binary patch literal 934 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yow{S24$*i^{H=saErn7T^r?ay{K~a8MW=<*t zgT}<#iMAex9b}HiM=w5tiDo{M8w?>Zhi3J zc+%B_MKh66kh4ZXojWF+ zT*q}VoaI8hBaecXVeow6qbfGXuiMtt?Ct)j^S-#gPfj)6=zzMwd84}+U`w)4S;`RQ%FC0X+NS=A{|*KCMMplfIxDEMp+mJpKw)v0(5Vdqi$j% zwQ$ZJ8SWJhtxtX&{QsbQdsA7?e_iS+wNL0GMzs#_1dTK zR|n3hzuY=a%#x{Udt>+OX=?8or&}MmFj-G>k}_+?ug{ea{`TzC>27vj{@L0& zb_|)Xv?`fpWSEj!PsM$&C=ajB|35GD+jr)crlNHre;FqMqlL4;BeIx*K~EWk87r3B zmjMOYOFVsD*o_1zJ2E@P)M@GHKN2hKQ}iuuY|$5C^fMpHASI3vm`^o-P1Q9 zypc~F7`YQXT^vIyZoR$C$jQLK!D48-QP6IeWsB~igJ0EH|Ck6hG%_+Xv$26N508Wd z2pbrHa6-a?10W1i(2Pw{LIU}UczBSlgPGLOco5k-k`%!l4RI69B)HEY){&$L=6#5p iaF~Qc5w3tdoX?*0o9TwY!4IGaWbkzLb6Mw<&;$UfE<$wx literal 0 HcmV?d00001 diff --git a/assets/Graphics/Terrains/forestbackground.png.import b/assets/Graphics/Terrains/forestbackground.png.import new file mode 100644 index 0000000..17f2644 --- /dev/null +++ b/assets/Graphics/Terrains/forestbackground.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw22wa750snvu" +path="res://.godot/imported/forestbackground.png-b4549c352e40e418b9bbffe18c651aa9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/Graphics/Terrains/forestbackground.png" +dest_files=["res://.godot/imported/forestbackground.png-b4549c352e40e418b9bbffe18c651aa9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/Graphics/Terrains/forestsky.png b/assets/Graphics/Terrains/forestsky.png new file mode 100644 index 0000000000000000000000000000000000000000..407c6d4a2161ceeae27c73539536344eea6bfa17 GIT binary patch literal 670 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yow{Wll$)``g3IZvXbVpxD28NCO+iG6RYYN*lRf%m{|-QC?*atF!BgcgP@XY qR2c@5bAX{sCD%-0K#Qvz`3x!Q%-7pFxvv2e0E4HipUXO@geCxsEqZ$Z literal 0 HcmV?d00001 diff --git a/assets/Graphics/Terrains/forestsky.png.import b/assets/Graphics/Terrains/forestsky.png.import new file mode 100644 index 0000000..5e10f07 --- /dev/null +++ b/assets/Graphics/Terrains/forestsky.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d455xj0ubatl" +path="res://.godot/imported/forestsky.png-12865c63115ec1ac90b24768f20bfe7a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/Graphics/Terrains/forestsky.png" +dest_files=["res://.godot/imported/forestsky.png-12865c63115ec1ac90b24768f20bfe7a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/Graphics/Terrains/mushroom_32x64.png b/assets/Graphics/Terrains/mushroom_32x64.png new file mode 100644 index 0000000000000000000000000000000000000000..b7954b0459ae7a409ee14ddaeea0ec9b29e9dcf6 GIT binary patch literal 2352 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 K*GDeo^#1@X;xZQi literal 0 HcmV?d00001 diff --git a/assets/Graphics/Terrains/spookytrees.png.import b/assets/Graphics/Terrains/spookytrees.png.import new file mode 100644 index 0000000..43103fc --- /dev/null +++ b/assets/Graphics/Terrains/spookytrees.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n3w5k33xpanb" +path="res://.godot/imported/spookytrees.png-fed75eb0fc0965963ed73b1e2e3e580c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/Graphics/Terrains/spookytrees.png" +dest_files=["res://.godot/imported/spookytrees.png-fed75eb0fc0965963ed73b1e2e3e580c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/Graphics/Terrains/veg_32x32.png b/assets/Graphics/Terrains/veg_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..4e09fa94c72733804bbf24e8b93c93c7daf096c0 GIT binary patch literal 675 zcmV;U0$lxxP)EX>4Tx04R}tkv&MmKpe$iTcsiu5i5!~WT;Lph>AFB6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jf7n~Gbq{ROvg%&X$9QWhhy~o`#<}3IpJ#@RbZVYBOe_@ISZ-rhG*sd#;)tSZl<&{D ztZ?4qtd^^+c~AbrP)=J}<~q$0B(R7jh!7y7iW17O5TjKi#YBqs;~xHD$1jpgCRYiJ z91EyGh2;3b|KNAGW`1(QO$x<<&KKMM7zKj6K%-{c-^aGyH~|9Bz?IhWSL(pbC+W48 z7C8cXw}Ff6mL~53mpj1FlP(#OBL!&s^LgO?jJ_!g^xp#AYi@7NeVjf3Y3eF@0~{Oz zV+G1y_jq?#dvE`qY4-O6go1LeRQ&;x00006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=>riLDmieSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{004VQL_t(o!|ju?4Zt7_1PueQT$ad4EWvVFfK*5>Yzf;q zY5pn-!u{hw1ONa4006+xlv4-w(dJs;*Hb5K$3aK5xV}Y5s6Pw5~a#BWiLE#M?t^`K{fyY002ov JPDHLkV1hjJ7cT$+ literal 0 HcmV?d00001 diff --git a/assets/Graphics/Terrains/veg_32x32.png.import b/assets/Graphics/Terrains/veg_32x32.png.import new file mode 100644 index 0000000..bbd6f31 --- /dev/null +++ b/assets/Graphics/Terrains/veg_32x32.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cakebjievpyw1" +path="res://.godot/imported/veg_32x32.png-b03ce8366ae550c654f84f8a790ed302.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/Graphics/Terrains/veg_32x32.png" +dest_files=["res://.godot/imported/veg_32x32.png-b03ce8366ae550c654f84f8a790ed302.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/Graphics/pickups/coin.png b/assets/Graphics/pickups/coin.png new file mode 100644 index 0000000000000000000000000000000000000000..01ae33d70b398db7f1f7bcafe883a0a469805201 GIT binary patch literal 500 zcmV^r!6hi!Wct>kSmw76A*+mkqIDVjdDL!Rb}5E?Td;C@2y9S zHih2xK(yTWh+gXdrTqK8Uwx^_$MoI4V|67Hn26^Qp-rJ*c_3P5d_*tx|6%^yEznE& zeE6^KHvJ|vI7934d=L#ytZIR)9hxaN1Jm8sZ6_j{Yx1#nTWt!D2<;1?{VNX?M*l~R zzukKP+i+D+FAlB;7qkOXfaGA?&h>EX&+$Oxqgs>{d4C#zhd05hUS`kO@{&+Bb`?-H zKXwYn7Ms9B!`F}PQh%-o65r;4=uy!A4;g>*6iCRL!wF!o{9{X0YM%Mf@U=DvM2}Kx zY#A;!e+4Y{Qh#m^NPMe5dkcj0f5`ZIy8@JYG2kpkh}LrU76{dHI?&Z}2LKX(>v1MX z4k6>OaQ_N1p97frj@jdSpELonJ&y=&3jN9h(K6#Bda3^x^WUBW>`ee7IfzLSUk<|l qVg27u071wNc?u+CjZ6R`YyJS*Ofbr5QwY-l0000 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 _on_body_entered(body: Node2D) -> void: + print ("Coin sees collision") + coinCollectedSignal.emit(body, self) diff --git a/scripts/coin.gd.uid b/scripts/coin.gd.uid new file mode 100644 index 0000000..807dd97 --- /dev/null +++ b/scripts/coin.gd.uid @@ -0,0 +1 @@ +uid://5xeni5cm0285 diff --git a/scripts/gamecontroller.gd b/scripts/gamecontroller.gd index 6fa6aac..2d978e0 100644 --- a/scripts/gamecontroller.gd +++ b/scripts/gamecontroller.gd @@ -1,6 +1,7 @@ extends Node2D +var totalCoinsAvailable = 0 # Called when the node enters the scene tree for the first time. func _ready() -> void: pass # Replace with function body. @@ -19,3 +20,10 @@ func _on_areatrigger(effect, body) -> void: if effect == "powerup": print("power up the player") + +func totalCoinCount(totalCoins): + print("GC knows coin total"+str(totalCoins) ) + totalCoinsAvailable = totalCoins +func coinCollected(body, coin): + print("GC knows coin collected") + coin.queue_free() diff --git a/scripts/scene_manager.gd b/scripts/scene_manager.gd index 47e3c2f..a6051c5 100644 --- a/scripts/scene_manager.gd +++ b/scripts/scene_manager.gd @@ -6,10 +6,17 @@ var totalAllowedBullets = 7 @onready var triggers: Node2D = $"../triggers" @onready var gameController: Node2D = $".." +@onready var coins: Node2D = $"../Coins" func _ready() -> void: for obj in triggers.get_children(): obj.areatrigger.connect(gameController._on_areatrigger) + var coinCount = 0 + for obj in coins.get_children(): + obj.coinCollectedSignal.connect(gameController.coinCollected) + coinCount +=1 + #send the info to game controller + gameController.totalCoinCount(coinCount) #makes bullets func bulletFactory(): var mybullet