From 5299f67b816e4922fc5c5922a9cc60fb4e4efa10 Mon Sep 17 00:00:00 2001 From: Jonas Braus Date: Sun, 28 Jul 2024 21:20:05 +0200 Subject: [PATCH] added coins --- assets/PixelOperator8.ttf | Bin 0 -> 19944 bytes assets/PixelOperator8.ttf.import | 33 +++++++++++++++ assets/coinlabel.png | Bin 0 -> 4323 bytes assets/coinlabel.png.import | 34 +++++++++++++++ scenes/coin.tscn | 59 ++++++++++++++++++++++++++ scenes/level_1.tscn | 70 ++++++++++++++++++++++++++++++- scenes/player.tscn | 35 +++++++++++++++- scripts/coin.gd | 5 +++ scripts/player.gd | 6 ++- 9 files changed, 239 insertions(+), 3 deletions(-) create mode 100644 assets/PixelOperator8.ttf create mode 100644 assets/PixelOperator8.ttf.import create mode 100644 assets/coinlabel.png create mode 100644 assets/coinlabel.png.import create mode 100644 scenes/coin.tscn create mode 100644 scripts/coin.gd diff --git a/assets/PixelOperator8.ttf b/assets/PixelOperator8.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f9146acf8f80a26e384080fd3289364c50a76a2d GIT binary patch literal 19944 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 F{tFh3tC0Wz literal 0 HcmV?d00001 diff --git a/assets/coinlabel.png.import b/assets/coinlabel.png.import new file mode 100644 index 0000000..7bb1e6b --- /dev/null +++ b/assets/coinlabel.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0xxlo60h1d7i" +path="res://.godot/imported/coinlabel.png-e55d5b49fbec1b6a412bf180fbef9ee7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/coinlabel.png" +dest_files=["res://.godot/imported/coinlabel.png-e55d5b49fbec1b6a412bf180fbef9ee7.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/coin.tscn b/scenes/coin.tscn new file mode 100644 index 0000000..8189634 --- /dev/null +++ b/scenes/coin.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=9 format=3 uid="uid://nm5keea43u56"] + +[ext_resource type="Texture2D" uid="uid://dth47lmb44qk8" path="res://assets/items.png" id="1_lffao"] +[ext_resource type="Script" path="res://scripts/coin.gd" id="1_qn7es"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_7xy4l"] +atlas = ExtResource("1_lffao") +region = Rect2(124, 94, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d5dm6"] +atlas = ExtResource("1_lffao") +region = Rect2(154, 94, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_y8lq8"] +atlas = ExtResource("1_lffao") +region = Rect2(184, 94, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8a022"] +atlas = ExtResource("1_lffao") +region = Rect2(214, 94, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_4nuhx"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_7xy4l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d5dm6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_y8lq8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8a022") +}], +"loop": true, +"name": &"idle", +"speed": 5.0 +}] + +[sub_resource type="CircleShape2D" id="CircleShape2D_vpcnk"] +radius = 7.0 + +[node name="Coin" type="Area2D"] +collision_mask = 2 +script = ExtResource("1_qn7es") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +position = Vector2(8, -8) +sprite_frames = SubResource("SpriteFrames_4nuhx") +animation = &"idle" +autoplay = "idle" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(8, -8) +shape = SubResource("CircleShape2D_vpcnk") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/scenes/level_1.tscn b/scenes/level_1.tscn index 87067a9..5ce58fc 100644 --- a/scenes/level_1.tscn +++ b/scenes/level_1.tscn @@ -1,10 +1,11 @@ -[gd_scene load_steps=8 format=3 uid="uid://dv50be68omp73"] +[gd_scene load_steps=9 format=3 uid="uid://dv50be68omp73"] [ext_resource type="Texture2D" uid="uid://chrld8oybp4me" path="res://assets/bg-1-1.png" id="1_rxc3r"] [ext_resource type="PackedScene" uid="uid://dk1aby88pygtr" path="res://scenes/player.tscn" id="2_ru48y"] [ext_resource type="PackedScene" uid="uid://d25ukpt8ot8xv" path="res://scenes/itemblock.tscn" id="3_fmbwm"] [ext_resource type="PackedScene" uid="uid://b6piduuvusiix" path="res://scenes/destroyblock.tscn" id="4_4f23w"] [ext_resource type="PackedScene" uid="uid://be832pldgbeyk" path="res://scenes/pipe.tscn" id="5_31d8i"] +[ext_resource type="PackedScene" uid="uid://nm5keea43u56" path="res://scenes/coin.tscn" id="6_evydd"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_sdqov"] texture = ExtResource("1_rxc3r") @@ -3047,6 +3048,7 @@ texture = ExtResource("1_rxc3r") 198:4/0 = 0 198:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) 198:4/0/physics_layer_0/angular_velocity = 0.0 +198:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 1.375, -8, 1.125, 8, -1, 8) 199:4/0 = 0 199:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) 199:4/0/physics_layer_0/angular_velocity = 0.0 @@ -3680,6 +3682,7 @@ texture = ExtResource("1_rxc3r") 198:5/0 = 0 198:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) 198:5/0/physics_layer_0/angular_velocity = 0.0 +198:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 1.375, -8, 1.125, 8, -1, 8) 199:5/0 = 0 199:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) 199:5/0/physics_layer_0/angular_velocity = 0.0 @@ -4313,6 +4316,7 @@ texture = ExtResource("1_rxc3r") 198:6/0 = 0 198:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) 198:6/0/physics_layer_0/angular_velocity = 0.0 +198:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 1.375, -8, 1.125, 8, -1, 8) 199:6/0 = 0 199:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) 199:6/0/physics_layer_0/angular_velocity = 0.0 @@ -4946,6 +4950,7 @@ texture = ExtResource("1_rxc3r") 198:7/0 = 0 198:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) 198:7/0/physics_layer_0/angular_velocity = 0.0 +198:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 1.375, -8, 1.125, 8, -1, 8) 199:7/0 = 0 199:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) 199:7/0/physics_layer_0/angular_velocity = 0.0 @@ -5579,6 +5584,7 @@ texture = ExtResource("1_rxc3r") 198:8/0 = 0 198:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) 198:8/0/physics_layer_0/angular_velocity = 0.0 +198:8/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 1.375, -8, 1.125, 8, -1, 8) 199:8/0 = 0 199:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) 199:8/0/physics_layer_0/angular_velocity = 0.0 @@ -6218,6 +6224,7 @@ texture = ExtResource("1_rxc3r") 198:9/0 = 0 198:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) 198:9/0/physics_layer_0/angular_velocity = 0.0 +198:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 1.375, -8, 1.125, 8, -1, 8) 199:9/0 = 0 199:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) 199:9/0/physics_layer_0/angular_velocity = 0.0 @@ -6846,6 +6853,7 @@ texture = ExtResource("1_rxc3r") 198:10/0 = 0 198:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) 198:10/0/physics_layer_0/angular_velocity = 0.0 +198:10/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 1.375, -8, 1.125, 8, -1, 8) 199:10/0 = 0 199:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) 199:10/0/physics_layer_0/angular_velocity = 0.0 @@ -7458,6 +7466,7 @@ texture = ExtResource("1_rxc3r") 198:11/0 = 0 198:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) 198:11/0/physics_layer_0/angular_velocity = 0.0 +198:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, 1.375, -8, 1.125, 8, -1, 8) 199:11/0 = 0 199:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) 199:11/0/physics_layer_0/angular_velocity = 0.0 @@ -19193,3 +19202,62 @@ target = Vector2(800, 224) position = Vector2(816, 240) rotation = -1.5708 target = Vector2(2592, -48) + +[node name="coins" type="Node" parent="."] + +[node name="Coin" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(672, 192) + +[node name="Coin2" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(688, 192) + +[node name="Coin3" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(704, 192) + +[node name="Coin4" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(720, 192) + +[node name="Coin5" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(736, 192) + +[node name="Coin6" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(752, 192) + +[node name="Coin7" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(768, 192) + +[node name="Coin8" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(672, 160) + +[node name="Coin9" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(688, 160) + +[node name="Coin10" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(704, 160) + +[node name="Coin11" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(720, 160) + +[node name="Coin12" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(736, 160) + +[node name="Coin13" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(752, 160) + +[node name="Coin14" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(768, 160) + +[node name="Coin15" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(688, 128) + +[node name="Coin16" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(704, 128) + +[node name="Coin17" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(720, 128) + +[node name="Coin18" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(736, 128) + +[node name="Coin19" parent="coins" instance=ExtResource("6_evydd")] +position = Vector2(752, 128) diff --git a/scenes/player.tscn b/scenes/player.tscn index 8e43f1e..f52d841 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -1,7 +1,9 @@ -[gd_scene load_steps=13 format=3 uid="uid://dk1aby88pygtr"] +[gd_scene load_steps=15 format=3 uid="uid://dk1aby88pygtr"] [ext_resource type="Script" path="res://scripts/player.gd" id="1_lm7ix"] [ext_resource type="Texture2D" uid="uid://dhw3lpuskbvku" path="res://assets/mario-luigi-4.png" id="1_w3chr"] +[ext_resource type="FontFile" uid="uid://cpwx7datjer6s" path="res://assets/PixelOperator8.ttf" id="3_mkgvb"] +[ext_resource type="Texture2D" uid="uid://d0xxlo60h1d7i" path="res://assets/coinlabel.png" id="4_o0q77"] [sub_resource type="AtlasTexture" id="AtlasTexture_l22ll"] atlas = ExtResource("1_w3chr") @@ -137,6 +139,37 @@ one_shot = true [node name="pipe_timer_half" type="Timer" parent="."] one_shot = true +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="Control" type="Control" parent="CanvasLayer"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="CoinAmt" type="Label" parent="CanvasLayer/Control"] +layout_mode = 1 +offset_left = 136.0 +offset_top = 56.0 +offset_right = 241.0 +offset_bottom = 104.0 +theme_override_colors/font_color = Color(1, 0.627451, 0.266667, 1) +theme_override_fonts/font = ExtResource("3_mkgvb") +theme_override_font_sizes/font_size = 40 +text = "0 +" +vertical_alignment = 1 + +[node name="CoinLabel" type="TextureRect" parent="CanvasLayer/Control"] +layout_mode = 0 +offset_left = 80.0 +offset_top = 56.0 +offset_right = 120.0 +offset_bottom = 96.0 +texture = ExtResource("4_o0q77") + [connection signal="area_entered" from="pipedetector_ground" to="." method="_on_pipedetector_area_entered"] [connection signal="area_exited" from="pipedetector_ground" to="." method="_on_pipedetector_area_exited"] [connection signal="area_entered" from="pipedetector_right" to="." method="_on_pipedetector_right_area_entered"] diff --git a/scripts/coin.gd b/scripts/coin.gd new file mode 100644 index 0000000..6909d1a --- /dev/null +++ b/scripts/coin.gd @@ -0,0 +1,5 @@ +extends Area2D + +func _on_body_entered(body): + body.increase_coins() + queue_free() diff --git a/scripts/player.gd b/scripts/player.gd index 43b58ee..777f512 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -4,6 +4,7 @@ extends CharacterBody2D @onready var color_rect = $Camera2D/ColorRect @onready var pipe_timer = $pipe_timer @onready var pipe_timer_half = $pipe_timer_half +@onready var coin_amt = $CanvasLayer/Control/CoinAmt const SPEED = 130.0 @@ -14,7 +15,7 @@ var left_pipe = false var pipe = null var pipe_target = null - +var coins = 0 # Get the gravity from the project settings to be synced with RigidBody nodes. var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var on_pause = false @@ -75,6 +76,9 @@ func _physics_process(delta): move_and_slide() +func increase_coins(): + coins += 1 + coin_amt.text = str(coins) func _on_pipedetector_area_entered(area): on_pipe = true