Initial commit
4
.editorconfig
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
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/
|
||||||
BIN
Battle Mode - Mario Kart DS OST Extended.mp3
Normal file
19
Battle Mode - Mario Kart DS OST Extended.mp3.import
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://ck06glyqpqy3n"
|
||||||
|
path="res://.godot/imported/Battle Mode - Mario Kart DS OST Extended.mp3-d412b39a20f551844107975154365a25.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Battle Mode - Mario Kart DS OST Extended.mp3"
|
||||||
|
dest_files=["res://.godot/imported/Battle Mode - Mario Kart DS OST Extended.mp3-d412b39a20f551844107975154365a25.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0
|
||||||
|
bpm=0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
442
game.tscn
Normal file
|
|
@ -0,0 +1,442 @@
|
||||||
|
[gd_scene load_steps=17 format=3 uid="uid://jo1lu66y1gx6"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://i348o6hqw2dn" path="res://sprites/44389.png" id="1_e2o6t"]
|
||||||
|
[ext_resource type="Script" uid="uid://5qnvkmmtxsw2" path="res://gameManager.gd" id="1_feb5d"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://ck06glyqpqy3n" path="res://Battle Mode - Mario Kart DS OST Extended.mp3" id="3_feb5d"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_feb5d"]
|
||||||
|
size = Vector2(16, 254)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fc0e3"]
|
||||||
|
size = Vector2(13, 202)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e2o6t"]
|
||||||
|
size = Vector2(70, 70)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7jktm"]
|
||||||
|
size = Vector2(24, 2)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ryrav"]
|
||||||
|
size = Vector2(47, 2)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eow3j"]
|
||||||
|
size = Vector2(3, 24)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_j5wjh"]
|
||||||
|
size = Vector2(2, 24)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vef74"]
|
||||||
|
size = Vector2(2, 46)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hve3p"]
|
||||||
|
size = Vector2(22, 3)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mfdv2"]
|
||||||
|
size = Vector2(22, 3)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_iotsf"]
|
||||||
|
size = Vector2(3, 22)
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_feb5d"]
|
||||||
|
font_color = Color(0.481789, 0.481789, 0.481789, 1)
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_7jktm"]
|
||||||
|
radius = 3.0
|
||||||
|
|
||||||
|
[node name="Game" type="Node2D" node_paths=PackedStringArray("player_spawns_nodes", "starting_shine_nodes", "shine_nodes", "scorecard_container", "elim_timer_label", "game_timer_label")]
|
||||||
|
script = ExtResource("1_feb5d")
|
||||||
|
shyguy_mode = true
|
||||||
|
player_spawns_nodes = NodePath("PlayerSpawns")
|
||||||
|
starting_shine_nodes = NodePath("StartingShineLocations")
|
||||||
|
shine_nodes = NodePath("ShineLocations")
|
||||||
|
scorecard_container = NodePath("GameUI/Scoreboard/VBoxContainer/scorecard_container")
|
||||||
|
elim_timer_label = NodePath("GameUI/ElimTimer")
|
||||||
|
game_timer_label = NodePath("GameUI/GameTimer")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
texture_filter = 1
|
||||||
|
texture = ExtResource("1_e2o6t")
|
||||||
|
|
||||||
|
[node name="Camera2D" type="Camera2D" parent="."]
|
||||||
|
zoom = Vector2(2.5, 2.5)
|
||||||
|
|
||||||
|
[node name="Walls" type="Node2D" parent="."]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="OuterWall" type="StaticBody2D" parent="Walls"]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Walls/OuterWall"]
|
||||||
|
position = Vector2(-135, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_feb5d")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D6" type="CollisionShape2D" parent="Walls/OuterWall"]
|
||||||
|
position = Vector2(-120.5, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_fc0e3")
|
||||||
|
|
||||||
|
[node name="OuterWall2" type="StaticBody2D" parent="Walls"]
|
||||||
|
rotation = 1.5708
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Walls/OuterWall2"]
|
||||||
|
position = Vector2(-135, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_feb5d")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D6" type="CollisionShape2D" parent="Walls/OuterWall2"]
|
||||||
|
position = Vector2(-120.5, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_fc0e3")
|
||||||
|
|
||||||
|
[node name="OuterWall3" type="StaticBody2D" parent="Walls"]
|
||||||
|
rotation = 3.14159
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Walls/OuterWall3"]
|
||||||
|
position = Vector2(-135, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_feb5d")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D6" type="CollisionShape2D" parent="Walls/OuterWall3"]
|
||||||
|
position = Vector2(-120.5, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_fc0e3")
|
||||||
|
|
||||||
|
[node name="OuterWall4" type="StaticBody2D" parent="Walls"]
|
||||||
|
rotation = 4.71239
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Walls/OuterWall4"]
|
||||||
|
position = Vector2(-135, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_feb5d")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D6" type="CollisionShape2D" parent="Walls/OuterWall4"]
|
||||||
|
position = Vector2(-120.5, 0)
|
||||||
|
shape = SubResource("RectangleShape2D_fc0e3")
|
||||||
|
|
||||||
|
[node name="Inner Block" type="StaticBody2D" parent="Walls"]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Walls/Inner Block"]
|
||||||
|
shape = SubResource("RectangleShape2D_e2o6t")
|
||||||
|
|
||||||
|
[node name="CornerWallSet" type="StaticBody2D" parent="Walls"]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Walls/CornerWallSet"]
|
||||||
|
position = Vector2(-89, -100)
|
||||||
|
shape = SubResource("RectangleShape2D_7jktm")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Walls/CornerWallSet"]
|
||||||
|
position = Vector2(-33.5, -100)
|
||||||
|
shape = SubResource("RectangleShape2D_ryrav")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D4" type="CollisionShape2D" parent="Walls/CornerWallSet"]
|
||||||
|
position = Vector2(-33.5, -89)
|
||||||
|
shape = SubResource("RectangleShape2D_eow3j")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Walls/CornerWallSet"]
|
||||||
|
position = Vector2(-100, -89)
|
||||||
|
shape = SubResource("RectangleShape2D_j5wjh")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D5" type="CollisionShape2D" parent="Walls/CornerWallSet"]
|
||||||
|
position = Vector2(-100, -34)
|
||||||
|
shape = SubResource("RectangleShape2D_vef74")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D6" type="CollisionShape2D" parent="Walls/CornerWallSet"]
|
||||||
|
position = Vector2(-88, -33.5)
|
||||||
|
shape = SubResource("RectangleShape2D_hve3p")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D7" type="CollisionShape2D" parent="Walls/CornerWallSet"]
|
||||||
|
position = Vector2(-46, -33.5)
|
||||||
|
shape = SubResource("RectangleShape2D_mfdv2")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D8" type="CollisionShape2D" parent="Walls/CornerWallSet"]
|
||||||
|
position = Vector2(-33.5, -46)
|
||||||
|
shape = SubResource("RectangleShape2D_iotsf")
|
||||||
|
|
||||||
|
[node name="CornerWallSet2" type="StaticBody2D" parent="Walls"]
|
||||||
|
rotation = 1.5708
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Walls/CornerWallSet2"]
|
||||||
|
position = Vector2(-89, -100)
|
||||||
|
shape = SubResource("RectangleShape2D_7jktm")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Walls/CornerWallSet2"]
|
||||||
|
position = Vector2(-33.5, -100)
|
||||||
|
shape = SubResource("RectangleShape2D_ryrav")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D4" type="CollisionShape2D" parent="Walls/CornerWallSet2"]
|
||||||
|
position = Vector2(-33.5, -89)
|
||||||
|
shape = SubResource("RectangleShape2D_eow3j")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Walls/CornerWallSet2"]
|
||||||
|
position = Vector2(-100, -89)
|
||||||
|
shape = SubResource("RectangleShape2D_j5wjh")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D5" type="CollisionShape2D" parent="Walls/CornerWallSet2"]
|
||||||
|
position = Vector2(-100, -34)
|
||||||
|
shape = SubResource("RectangleShape2D_vef74")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D6" type="CollisionShape2D" parent="Walls/CornerWallSet2"]
|
||||||
|
position = Vector2(-88, -33.5)
|
||||||
|
shape = SubResource("RectangleShape2D_hve3p")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D7" type="CollisionShape2D" parent="Walls/CornerWallSet2"]
|
||||||
|
position = Vector2(-46, -33.5)
|
||||||
|
shape = SubResource("RectangleShape2D_mfdv2")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D8" type="CollisionShape2D" parent="Walls/CornerWallSet2"]
|
||||||
|
position = Vector2(-33.5, -46)
|
||||||
|
shape = SubResource("RectangleShape2D_iotsf")
|
||||||
|
|
||||||
|
[node name="CornerWallSet3" type="StaticBody2D" parent="Walls"]
|
||||||
|
rotation = 3.14159
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Walls/CornerWallSet3"]
|
||||||
|
position = Vector2(-89, -100)
|
||||||
|
shape = SubResource("RectangleShape2D_7jktm")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Walls/CornerWallSet3"]
|
||||||
|
position = Vector2(-33.5, -100)
|
||||||
|
shape = SubResource("RectangleShape2D_ryrav")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D4" type="CollisionShape2D" parent="Walls/CornerWallSet3"]
|
||||||
|
position = Vector2(-33.5, -89)
|
||||||
|
shape = SubResource("RectangleShape2D_eow3j")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Walls/CornerWallSet3"]
|
||||||
|
position = Vector2(-100, -89)
|
||||||
|
shape = SubResource("RectangleShape2D_j5wjh")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D5" type="CollisionShape2D" parent="Walls/CornerWallSet3"]
|
||||||
|
position = Vector2(-100, -34)
|
||||||
|
shape = SubResource("RectangleShape2D_vef74")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D6" type="CollisionShape2D" parent="Walls/CornerWallSet3"]
|
||||||
|
position = Vector2(-88, -33.5)
|
||||||
|
shape = SubResource("RectangleShape2D_hve3p")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D7" type="CollisionShape2D" parent="Walls/CornerWallSet3"]
|
||||||
|
position = Vector2(-46, -33.5)
|
||||||
|
shape = SubResource("RectangleShape2D_mfdv2")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D8" type="CollisionShape2D" parent="Walls/CornerWallSet3"]
|
||||||
|
position = Vector2(-33.5, -46)
|
||||||
|
shape = SubResource("RectangleShape2D_iotsf")
|
||||||
|
|
||||||
|
[node name="CornerWallSet4" type="StaticBody2D" parent="Walls"]
|
||||||
|
rotation = 4.71239
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Walls/CornerWallSet4"]
|
||||||
|
position = Vector2(-89, -100)
|
||||||
|
shape = SubResource("RectangleShape2D_7jktm")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Walls/CornerWallSet4"]
|
||||||
|
position = Vector2(-33.5, -100)
|
||||||
|
shape = SubResource("RectangleShape2D_ryrav")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D4" type="CollisionShape2D" parent="Walls/CornerWallSet4"]
|
||||||
|
position = Vector2(-33.5, -89)
|
||||||
|
shape = SubResource("RectangleShape2D_eow3j")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Walls/CornerWallSet4"]
|
||||||
|
position = Vector2(-100, -89)
|
||||||
|
shape = SubResource("RectangleShape2D_j5wjh")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D5" type="CollisionShape2D" parent="Walls/CornerWallSet4"]
|
||||||
|
position = Vector2(-100, -34)
|
||||||
|
shape = SubResource("RectangleShape2D_vef74")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D6" type="CollisionShape2D" parent="Walls/CornerWallSet4"]
|
||||||
|
position = Vector2(-88, -33.5)
|
||||||
|
shape = SubResource("RectangleShape2D_hve3p")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D7" type="CollisionShape2D" parent="Walls/CornerWallSet4"]
|
||||||
|
position = Vector2(-46, -33.5)
|
||||||
|
shape = SubResource("RectangleShape2D_mfdv2")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D8" type="CollisionShape2D" parent="Walls/CornerWallSet4"]
|
||||||
|
position = Vector2(-33.5, -46)
|
||||||
|
shape = SubResource("RectangleShape2D_iotsf")
|
||||||
|
|
||||||
|
[node name="GameUI" 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="ElimTimer" type="Label" parent="GameUI"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 5
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
offset_left = -32.0
|
||||||
|
offset_top = -134.0
|
||||||
|
offset_right = 32.0
|
||||||
|
offset_bottom = -111.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
text = "00.00"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="GameTimer" type="Label" parent="GameUI"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 5
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
offset_left = -32.0
|
||||||
|
offset_top = 110.0
|
||||||
|
offset_right = 32.0
|
||||||
|
offset_bottom = 133.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
text = "00:00:00"
|
||||||
|
label_settings = SubResource("LabelSettings_feb5d")
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Scoreboard" type="Control" parent="GameUI"]
|
||||||
|
anchors_preset = 0
|
||||||
|
offset_left = -227.0
|
||||||
|
offset_top = -111.0
|
||||||
|
offset_right = -131.0
|
||||||
|
offset_bottom = 114.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="GameUI/Scoreboard"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="GameUI/Scoreboard/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Scoreboard"
|
||||||
|
|
||||||
|
[node name="scorecard_container" type="VBoxContainer" parent="GameUI/Scoreboard/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="PlayerSpawns" type="Node2D" parent="."]
|
||||||
|
|
||||||
|
[node name="Point" type="CollisionShape2D" parent="PlayerSpawns"]
|
||||||
|
position = Vector2(-67, 56)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(1.63645e-06, 0.648142, 0.190285, 0.42)
|
||||||
|
|
||||||
|
[node name="Point2" type="CollisionShape2D" parent="PlayerSpawns"]
|
||||||
|
position = Vector2(-56, 67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(1.63645e-06, 0.648142, 0.190285, 0.42)
|
||||||
|
|
||||||
|
[node name="Point3" type="CollisionShape2D" parent="PlayerSpawns"]
|
||||||
|
position = Vector2(-67, -56)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(1.63645e-06, 0.648142, 0.190285, 0.42)
|
||||||
|
|
||||||
|
[node name="Point4" type="CollisionShape2D" parent="PlayerSpawns"]
|
||||||
|
position = Vector2(-56, -67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(1.63645e-06, 0.648142, 0.190285, 0.42)
|
||||||
|
|
||||||
|
[node name="Point5" type="CollisionShape2D" parent="PlayerSpawns"]
|
||||||
|
position = Vector2(55, -67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(1.63645e-06, 0.648142, 0.190285, 0.42)
|
||||||
|
|
||||||
|
[node name="Point6" type="CollisionShape2D" parent="PlayerSpawns"]
|
||||||
|
position = Vector2(67, -56)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(1.63645e-06, 0.648142, 0.190285, 0.42)
|
||||||
|
|
||||||
|
[node name="Point7" type="CollisionShape2D" parent="PlayerSpawns"]
|
||||||
|
position = Vector2(67, 56)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(1.63645e-06, 0.648142, 0.190285, 0.42)
|
||||||
|
|
||||||
|
[node name="Point8" type="CollisionShape2D" parent="PlayerSpawns"]
|
||||||
|
position = Vector2(55, 67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(1.63645e-06, 0.648142, 0.190285, 0.42)
|
||||||
|
|
||||||
|
[node name="StartingShineLocations" type="Node2D" parent="."]
|
||||||
|
|
||||||
|
[node name="Shine" type="CollisionShape2D" parent="StartingShineLocations"]
|
||||||
|
position = Vector2(0, 108)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.99625, 0.0532942, 3.85046e-07, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine2" type="CollisionShape2D" parent="StartingShineLocations"]
|
||||||
|
position = Vector2(108, 0)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.99625, 0.0532942, 3.85046e-07, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine3" type="CollisionShape2D" parent="StartingShineLocations"]
|
||||||
|
position = Vector2(0, -108)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.99625, 0.0532942, 3.85046e-07, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine4" type="CollisionShape2D" parent="StartingShineLocations"]
|
||||||
|
position = Vector2(-108, 0)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.99625, 0.0532942, 3.85046e-07, 0.42)
|
||||||
|
|
||||||
|
[node name="ShineLocations" type="Node2D" parent="."]
|
||||||
|
|
||||||
|
[node name="Shine" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(0, 108)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine2" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(108, 0)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine3" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(0, -108)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine4" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(-108, 0)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine5" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(-67, -67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine6" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(0, -67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine7" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(67, -67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine8" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(67, 0)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine9" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(67, 67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine10" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(0, 67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine11" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(-67, 67)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="Shine12" type="CollisionShape2D" parent="ShineLocations"]
|
||||||
|
position = Vector2(-67, 0)
|
||||||
|
shape = SubResource("CircleShape2D_7jktm")
|
||||||
|
debug_color = Color(0.623589, 0.532808, 0, 0.42)
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource("3_feb5d")
|
||||||
|
volume_db = -20.0
|
||||||
|
autoplay = true
|
||||||
|
parameters/looping = true
|
||||||
75
gameManager.gd
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
extends Node2D
|
||||||
|
|
||||||
|
@export var shyguy_mode : bool
|
||||||
|
var player_spawns : Array[Node]
|
||||||
|
var starting_shine_spawns : Array[Node]
|
||||||
|
var shine_spawns : Array[Node]
|
||||||
|
var players : Array[Player]
|
||||||
|
|
||||||
|
@export_group("Node References")
|
||||||
|
@export var player_spawns_nodes : Node2D
|
||||||
|
@export var starting_shine_nodes : Node2D
|
||||||
|
@export var shine_nodes : Node2D
|
||||||
|
@export var scorecard_container : VBoxContainer
|
||||||
|
@export var elim_timer_label : Label
|
||||||
|
@export var game_timer_label : Label
|
||||||
|
|
||||||
|
var game_timer : float = 0
|
||||||
|
var elim_timer : float = 60
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
player_spawns = player_spawns_nodes.get_children()
|
||||||
|
starting_shine_spawns = starting_shine_nodes.get_children()
|
||||||
|
shine_spawns = shine_nodes.get_children()
|
||||||
|
createPlayers()
|
||||||
|
spawn_shinies()
|
||||||
|
|
||||||
|
func createPlayers():
|
||||||
|
for i in range(8):
|
||||||
|
spawnPlayer(i)
|
||||||
|
|
||||||
|
func spawnPlayer(id : int):
|
||||||
|
var player : Player = load("res://player.tscn").instantiate()
|
||||||
|
var scorecard : Scorecard = load("res://scorecard.tscn").instantiate()
|
||||||
|
|
||||||
|
player.id = id
|
||||||
|
scorecard.id = id
|
||||||
|
if(shyguy_mode):
|
||||||
|
player.id += 12
|
||||||
|
scorecard.id += 12
|
||||||
|
player.position = player_spawns[id].position
|
||||||
|
player.scorecard = scorecard
|
||||||
|
player.setup()
|
||||||
|
players.append(player)
|
||||||
|
add_child(player)
|
||||||
|
scorecard_container.add_child(scorecard)
|
||||||
|
|
||||||
|
func spawn_shinies():
|
||||||
|
for i in range(4):
|
||||||
|
var shiny = load("res://shiny.tscn").instantiate()
|
||||||
|
shiny.position = shine_spawns[i].position
|
||||||
|
add_child(shiny)
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
elim_timer -= delta
|
||||||
|
game_timer += delta
|
||||||
|
update_ui()
|
||||||
|
|
||||||
|
func update_ui():
|
||||||
|
elim_timer_label.text = format_time(elim_timer, false)
|
||||||
|
game_timer_label.text = format_time(game_timer, true)
|
||||||
|
order_scoreboard()
|
||||||
|
|
||||||
|
func order_scoreboard():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func format_time(time : float, include_minutes : bool) -> String:
|
||||||
|
var minutes : int = floor(time / 60)
|
||||||
|
var seconds : int = time - 60*minutes
|
||||||
|
var millis : float = time - floor(time)
|
||||||
|
var millis_2dp : int = floor(millis*100)
|
||||||
|
if(include_minutes):
|
||||||
|
return str(minutes).pad_zeros(2) +":"+ str(seconds).pad_zeros(2)+"."+str(millis_2dp).pad_zeros(2)
|
||||||
|
else:
|
||||||
|
return str(seconds).pad_zeros(2)+"."+str(millis_2dp).pad_zeros(2)
|
||||||
1
gameManager.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://5qnvkmmtxsw2
|
||||||
1
icon.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 994 B |
37
icon.svg.import
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://xs8m3iqmg4k1"
|
||||||
|
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
19
player.gd
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
extends RigidBody2D
|
||||||
|
class_name Player
|
||||||
|
|
||||||
|
var id : int = 0
|
||||||
|
var score : int = 0
|
||||||
|
var scorecard : Scorecard
|
||||||
|
@export var start_speed = 100
|
||||||
|
|
||||||
|
@export var animated_sprite : AnimatedSprite2D
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
var frame : int = randi_range(0, animated_sprite.sprite_frames.get_frame_count("default")-1)
|
||||||
|
var direction : Vector2 = Vector2 (randf_range(-1,1), randf_range(-1,1))
|
||||||
|
|
||||||
|
apply_force( direction.normalized() * start_speed)
|
||||||
|
#animated_sprite.frame = frame
|
||||||
|
|
||||||
|
func setup():
|
||||||
|
animated_sprite.frame = id
|
||||||
1
player.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://joar7fypug07
|
||||||
28
player.tscn
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
[gd_scene load_steps=5 format=3 uid="uid://cpukut4kdy4pg"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://joar7fypug07" path="res://player.gd" id="1_onrkg"]
|
||||||
|
[ext_resource type="SpriteFrames" uid="uid://c7ceeyn5e3kgr" path="res://playerSprites.tres" id="2_onrkg"]
|
||||||
|
|
||||||
|
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_onrkg"]
|
||||||
|
friction = 0.0
|
||||||
|
bounce = 1.0
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_4flbx"]
|
||||||
|
radius = 4.0
|
||||||
|
|
||||||
|
[node name="Player" type="RigidBody2D" node_paths=PackedStringArray("animated_sprite")]
|
||||||
|
physics_material_override = SubResource("PhysicsMaterial_onrkg")
|
||||||
|
gravity_scale = 0.0
|
||||||
|
lock_rotation = true
|
||||||
|
linear_damp_mode = 1
|
||||||
|
script = ExtResource("1_onrkg")
|
||||||
|
start_speed = 2000
|
||||||
|
animated_sprite = NodePath("AnimatedSprite2D")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
|
texture_filter = 1
|
||||||
|
scale = Vector2(0.527602, 0.527602)
|
||||||
|
sprite_frames = ExtResource("2_onrkg")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
shape = SubResource("CircleShape2D_4flbx")
|
||||||
151
playerSprites.tres
Normal file
|
|
@ -0,0 +1,151 @@
|
||||||
|
[gd_resource type="SpriteFrames" load_steps=22 format=3 uid="uid://c7ceeyn5e3kgr"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://kdvf0fwah683" path="res://sprites/62221.png" id="1_ni33q"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_onrkg"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(0, 0, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_i3pqv"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(16, 0, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_hqtel"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(32, 0, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_sweqy"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(48, 0, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_2hs0m"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(0, 14, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_1jxqw"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(16, 14, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_dw050"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(32, 14, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_b26j0"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(48, 14, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_n7ghd"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(0, 28, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_nvl01"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(16, 28, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ivps1"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(32, 28, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_urp6f"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(48, 28, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_bwjto"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(0, 42, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_606se"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(16, 42, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_u1c27"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(32, 42, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_op7ga"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(48, 42, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_q13i1"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(0, 56, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_pylmc"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(16, 56, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_pbfsw"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(32, 56, 16, 14)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5tmop"]
|
||||||
|
atlas = ExtResource("1_ni33q")
|
||||||
|
region = Rect2(48, 56, 16, 14)
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_onrkg")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_i3pqv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_hqtel")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_sweqy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_2hs0m")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_1jxqw")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_dw050")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_b26j0")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_n7ghd")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_nvl01")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ivps1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_urp6f")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_bwjto")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_606se")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_u1c27")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_op7ga")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_q13i1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_pylmc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_pbfsw")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_5tmop")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
26
project.godot
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
; 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="Shine Runners Test"
|
||||||
|
run/main_scene="uid://jo1lu66y1gx6"
|
||||||
|
config/features=PackedStringArray("4.4", "GL Compatibility")
|
||||||
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
[display]
|
||||||
|
|
||||||
|
window/stretch/mode="viewport"
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
textures/canvas_textures/default_texture_filter=0
|
||||||
|
renderer/rendering_method="gl_compatibility"
|
||||||
|
renderer/rendering_method.mobile="gl_compatibility"
|
||||||
14
scorecard.gd
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
extends Control
|
||||||
|
class_name Scorecard
|
||||||
|
|
||||||
|
var score : int = 0
|
||||||
|
var id : int = 0
|
||||||
|
|
||||||
|
@export_group("Node References")
|
||||||
|
@export var score_label : Label
|
||||||
|
@export var sprite : AnimatedSprite2D
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
score_label.text = str(score)
|
||||||
|
sprite.frame = id
|
||||||
|
|
||||||
1
scorecard.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://ddafqftfujtry
|
||||||
36
scorecard.tscn
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
[gd_scene load_steps=4 format=3 uid="uid://cp2t5xc2yk3q4"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://ddafqftfujtry" path="res://scorecard.gd" id="1_hcikf"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://77quibtjcvca" path="res://sprites/scorecard.png" id="1_l1cy6"]
|
||||||
|
[ext_resource type="SpriteFrames" uid="uid://c7ceeyn5e3kgr" path="res://playerSprites.tres" id="3_hcikf"]
|
||||||
|
|
||||||
|
[node name="Scorecard" type="Control" node_paths=PackedStringArray("score_label", "sprite")]
|
||||||
|
custom_minimum_size = Vector2(0, 23)
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
offset_right = -1094.0
|
||||||
|
offset_bottom = -625.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_hcikf")
|
||||||
|
score_label = NodePath("Score")
|
||||||
|
sprite = NodePath("PlayerSprite")
|
||||||
|
|
||||||
|
[node name="Back" type="TextureRect" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
offset_right = 58.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
texture = ExtResource("1_l1cy6")
|
||||||
|
|
||||||
|
[node name="Score" type="Label" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 37.0
|
||||||
|
offset_right = 56.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
text = "00"
|
||||||
|
|
||||||
|
[node name="PlayerSprite" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(9, 12)
|
||||||
|
sprite_frames = ExtResource("3_hcikf")
|
||||||
10
shiny.gd
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
extends RigidBody2D
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_body_entered(body: Player) -> void:
|
||||||
|
print(body.name)
|
||||||
|
if body is Player:
|
||||||
|
body.score += 1
|
||||||
|
body.scorecard.score = body.score
|
||||||
|
queue_free()
|
||||||
1
shiny.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://cob4bhbo1shuc
|
||||||
28
shiny.tscn
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
[gd_scene load_steps=5 format=3 uid="uid://cepndgsi3j3gn"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://cob4bhbo1shuc" path="res://shiny.gd" id="1_0cndc"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://1ylm3yb3weq8" path="res://sprites/shiny.png" id="1_0iabg"]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_yl8uo"]
|
||||||
|
radius = 6.0
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_0cndc"]
|
||||||
|
radius = 7.0
|
||||||
|
|
||||||
|
[node name="RigidBody2D" type="RigidBody2D"]
|
||||||
|
gravity_scale = 0.0
|
||||||
|
script = ExtResource("1_0cndc")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
texture = ExtResource("1_0iabg")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
shape = SubResource("CircleShape2D_yl8uo")
|
||||||
|
|
||||||
|
[node name="Shiny" type="Area2D" parent="."]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Shiny"]
|
||||||
|
shape = SubResource("CircleShape2D_0cndc")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="Shiny" to="Shiny" method="_on_body_entered"]
|
||||||
|
[connection signal="body_entered" from="Shiny" to="." method="_on_body_entered"]
|
||||||
BIN
sprites/44389.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
34
sprites/44389.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://i348o6hqw2dn"
|
||||||
|
path="res://.godot/imported/44389.png-47db85b4732029eaed5db20d364d4b7b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/44389.png"
|
||||||
|
dest_files=["res://.godot/imported/44389.png-47db85b4732029eaed5db20d364d4b7b.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
sprites/62221.png
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
34
sprites/62221.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://kdvf0fwah683"
|
||||||
|
path="res://.godot/imported/62221.png-67cbc98575e67dff85e6769fe1f3dc31.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/62221.png"
|
||||||
|
dest_files=["res://.godot/imported/62221.png-67cbc98575e67dff85e6769fe1f3dc31.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
sprites/6858.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
34
sprites/6858.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://gasmsg3agmkc"
|
||||||
|
path="res://.godot/imported/6858.png-4af452c3b690c31ddf0d7144fd64497b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/6858.png"
|
||||||
|
dest_files=["res://.godot/imported/6858.png-4af452c3b690c31ddf0d7144fd64497b.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
|
||||||
|
After Width: | Height: | Size: 7.9 KiB |
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c5jd8rinp4pk"
|
||||||
|
path="res://.godot/imported/DS DSi - Mario Kart DS - Item and Obstacle Map Markers.png-c236ad9561b404826c8bbcdba9118bef.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/DS DSi - Mario Kart DS - Item and Obstacle Map Markers.png"
|
||||||
|
dest_files=["res://.godot/imported/DS DSi - Mario Kart DS - Item and Obstacle Map Markers.png-c236ad9561b404826c8bbcdba9118bef.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
sprites/marioTest.png
Normal file
|
After Width: | Height: | Size: 563 B |
34
sprites/marioTest.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dns7a34gult70"
|
||||||
|
path="res://.godot/imported/marioTest.png-bc49750de68d027c6258dc57069ebbbe.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/marioTest.png"
|
||||||
|
dest_files=["res://.godot/imported/marioTest.png-bc49750de68d027c6258dc57069ebbbe.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
sprites/normal.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
34
sprites/normal.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b16r2s7kn34qt"
|
||||||
|
path="res://.godot/imported/normal.png-c4ea4d67b2e59097e0599dc3b8e5537b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/normal.png"
|
||||||
|
dest_files=["res://.godot/imported/normal.png-c4ea4d67b2e59097e0599dc3b8e5537b.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
sprites/scorecard.png
Normal file
|
After Width: | Height: | Size: 468 B |
34
sprites/scorecard.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://77quibtjcvca"
|
||||||
|
path="res://.godot/imported/scorecard.png-b7903f1707932ec894918c34d667d7d4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/scorecard.png"
|
||||||
|
dest_files=["res://.godot/imported/scorecard.png-b7903f1707932ec894918c34d667d7d4.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
sprites/shiny.png
Normal file
|
After Width: | Height: | Size: 484 B |
34
sprites/shiny.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://1ylm3yb3weq8"
|
||||||
|
path="res://.godot/imported/shiny.png-1b3c777735df179ff8e535f5f4960252.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/shiny.png"
|
||||||
|
dest_files=["res://.godot/imported/shiny.png-1b3c777735df179ff8e535f5f4960252.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
sprites/thin.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
34
sprites/thin.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b6wk4vesbg7ts"
|
||||||
|
path="res://.godot/imported/thin.png-97c061512b43b99b0d45a82517c29d2b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/thin.png"
|
||||||
|
dest_files=["res://.godot/imported/thin.png-97c061512b43b99b0d45a82517c29d2b.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
|
||||||