diff --git a/.DS_Store b/.DS_Store index 2325b7f..e9a7e7b 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Settings.gd b/Settings.gd index 07d4de9..c645b5d 100644 --- a/Settings.gd +++ b/Settings.gd @@ -2,7 +2,7 @@ extends Node var config = ConfigFile.new() -const CHARACTERS = ["res://player-row.tscn", "res://player-apezoid.tscn"] +const CHARACTERS = ["res://player-row.tscn", "res://player-apezoid.tscn", "res://player-iamond.tscn"] func _ready(): var has_config = config.load("user://settings.cfg") == OK diff --git a/iamond-jump.png b/iamond-jump.png new file mode 100644 index 0000000..ccd00e8 Binary files /dev/null and b/iamond-jump.png differ diff --git a/iamond-jump.png.import b/iamond-jump.png.import new file mode 100644 index 0000000..db8d011 --- /dev/null +++ b/iamond-jump.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://m428rhlgku6w" +path="res://.godot/imported/iamond-jump.png-1e56ff8a9774c640a050835522ef4dda.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://iamond-jump.png" +dest_files=["res://.godot/imported/iamond-jump.png-1e56ff8a9774c640a050835522ef4dda.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/iamond.png b/iamond.png new file mode 100644 index 0000000..834d88c Binary files /dev/null and b/iamond.png differ diff --git a/iamond.png.import b/iamond.png.import new file mode 100644 index 0000000..3c3d6f2 --- /dev/null +++ b/iamond.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c08j5w5b66kg5" +path="res://.godot/imported/iamond.png-31c2f822c23745fad0b223ddeda2d8e4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://iamond.png" +dest_files=["res://.godot/imported/iamond.png-31c2f822c23745fad0b223ddeda2d8e4.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/main.tscn b/main.tscn index 1fa6acb..860ed1f 100644 --- a/main.tscn +++ b/main.tscn @@ -12,11 +12,11 @@ [ext_resource type="Texture2D" uid="uid://yvrhlh04k8w1" path="res://background space.png" id="6_yg4g1"] [ext_resource type="Script" path="res://wave_enemy.gd" id="7_54h7d"] [ext_resource type="Texture2D" uid="uid://cwquv3mq5kk1d" path="res://countdown-spritesheet.png" id="8_e1eub"] -[ext_resource type="Resource" uid="uid://dd8me0deake37" path="res://eptagon_enemy.tres" id="9_q67ak"] +[ext_resource type="Resource" path="res://eptagon_enemy.tres" id="9_q67ak"] [ext_resource type="AudioStream" uid="uid://dn65uapn0wsok" path="res://impactMetal_002.ogg" id="11_acuni"] [ext_resource type="Script" path="res://CollisionCheck.gd" id="11_ryeyk"] [ext_resource type="FontFile" uid="uid://bnguin7bsyx6e" path="res://Kenney Future.ttf" id="11_s4q6p"] -[ext_resource type="Texture2D" uid="uid://bvpoajwx0yw3y" path="res://Circle.png" id="13_318fy"] +[ext_resource type="Texture2D" uid="uid://cso5ufbf7u7oj" path="res://Circle.png" id="13_318fy"] [ext_resource type="Script" path="res://Notification.gd" id="13_lkv81"] [ext_resource type="Script" path="res://Stopwatch.gd" id="13_xhnp2"] [ext_resource type="Script" path="res://Leaderboard.gd" id="14_v1elq"] diff --git a/main_menu.tscn b/main_menu.tscn index 873863f..94ccc42 100644 --- a/main_menu.tscn +++ b/main_menu.tscn @@ -180,12 +180,14 @@ text = "CLASS" layout_mode = 2 theme_override_fonts/font = ExtResource("4_ybv7t") theme_override_font_sizes/font_size = 54 -item_count = 2 +item_count = 3 selected = 0 popup/item_0/text = "Row" popup/item_0/id = 0 popup/item_1/text = "Apezoid" popup/item_1/id = 1 +popup/item_2/text = "Iamond" +popup/item_2/id = 2 [node name="Label4" type="Label" parent="Settings Panel/Menu"] layout_mode = 2 @@ -300,7 +302,6 @@ text = "[center][wave]LOADING..." [node name="Music" type="AudioStreamPlayer2D" parent="."] stream = ExtResource("9_rc4r7") autoplay = true -bus = &"Music" [connection signal="pressed" from="Layout/Play" to="." method="play"] [connection signal="pressed" from="Layout/Settings" to="Settings Panel" method="show"] diff --git a/pixel circle.png b/pixel circle.png new file mode 100644 index 0000000..4de5976 Binary files /dev/null and b/pixel circle.png differ diff --git a/pixel circle.png.import b/pixel circle.png.import new file mode 100644 index 0000000..1de0de2 --- /dev/null +++ b/pixel circle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nfhsl4pdy78b" +path="res://.godot/imported/pixel circle.png-c048f0f8f34afb9cfb3d6b426c3b174f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://pixel circle.png" +dest_files=["res://.godot/imported/pixel circle.png-c048f0f8f34afb9cfb3d6b426c3b174f.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/player-iamond.gd b/player-iamond.gd new file mode 100644 index 0000000..046000f --- /dev/null +++ b/player-iamond.gd @@ -0,0 +1,18 @@ +extends "res://player.gd" + +func _ready(): + speed = 1200 + update_animation() + if config.load("user://settings.cfg") == OK: + absolute_movement = not config.get_value("config", "relative_controls") + +func _input(event): + if event.is_action_pressed("jump"): + $Sprite.speed_scale = 1 + $Sprite.play("jump") + await $Sprite.animation_finished + global_position = get_global_mouse_position() + $Sprite.speed_scale = -1 + $Sprite.play("jump") + await $Sprite.animation_finished + $Sprite.play("idle") diff --git a/player-iamond.tscn b/player-iamond.tscn new file mode 100644 index 0000000..1fbf942 --- /dev/null +++ b/player-iamond.tscn @@ -0,0 +1,199 @@ +[gd_scene load_steps=30 format=3 uid="uid://c4ii0wvj20qe4"] + +[ext_resource type="PackedScene" uid="uid://cgcjicue76wsr" path="res://player.tscn" id="1_l701f"] +[ext_resource type="Script" path="res://player-iamond.gd" id="2_5t06e"] +[ext_resource type="Texture2D" uid="uid://c08j5w5b66kg5" path="res://iamond.png" id="3_3gmdf"] +[ext_resource type="Texture2D" uid="uid://m428rhlgku6w" path="res://iamond-jump.png" id="4_cp8gd"] +[ext_resource type="Texture2D" uid="uid://nfhsl4pdy78b" path="res://pixel circle.png" id="5_fmfr6"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_cvdem"] +atlas = ExtResource("3_3gmdf") +region = Rect2(0, 0, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dmqd5"] +atlas = ExtResource("3_3gmdf") +region = Rect2(48, 0, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ybuuf"] +atlas = ExtResource("3_3gmdf") +region = Rect2(96, 0, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s4w4g"] +atlas = ExtResource("3_3gmdf") +region = Rect2(144, 0, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l2u21"] +atlas = ExtResource("3_3gmdf") +region = Rect2(0, 32, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w05xj"] +atlas = ExtResource("3_3gmdf") +region = Rect2(48, 32, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fwlao"] +atlas = ExtResource("3_3gmdf") +region = Rect2(96, 32, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q0u1h"] +atlas = ExtResource("3_3gmdf") +region = Rect2(144, 32, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jpnvd"] +atlas = ExtResource("3_3gmdf") +region = Rect2(0, 64, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0lbuk"] +atlas = ExtResource("3_3gmdf") +region = Rect2(48, 64, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_aswut"] +atlas = ExtResource("3_3gmdf") +region = Rect2(96, 64, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nrcl8"] +atlas = ExtResource("3_3gmdf") +region = Rect2(144, 64, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5srxo"] +atlas = ExtResource("3_3gmdf") +region = Rect2(0, 96, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q12fn"] +atlas = ExtResource("3_3gmdf") +region = Rect2(48, 96, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sqq6n"] +atlas = ExtResource("3_3gmdf") +region = Rect2(96, 96, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tb8gh"] +atlas = ExtResource("3_3gmdf") +region = Rect2(144, 96, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2chkn"] +atlas = ExtResource("4_cp8gd") +region = Rect2(0, 0, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uj5w0"] +atlas = ExtResource("4_cp8gd") +region = Rect2(48, 0, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4hkgt"] +atlas = ExtResource("4_cp8gd") +region = Rect2(96, 0, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_korld"] +atlas = ExtResource("4_cp8gd") +region = Rect2(0, 32, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qwh7b"] +atlas = ExtResource("4_cp8gd") +region = Rect2(48, 32, 48, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jj5q4"] +atlas = ExtResource("4_cp8gd") +region = Rect2(96, 32, 48, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_7i6wq"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_cvdem") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dmqd5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ybuuf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s4w4g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l2u21") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w05xj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fwlao") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q0u1h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jpnvd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0lbuk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_aswut") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nrcl8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5srxo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q12fn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sqq6n") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tb8gh") +}], +"loop": true, +"name": &"idle", +"speed": 15.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_2chkn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uj5w0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4hkgt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_korld") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qwh7b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jj5q4") +}], +"loop": false, +"name": &"jump", +"speed": 10.0 +}] + +[sub_resource type="Gradient" id="Gradient_urfxb"] +colors = PackedColorArray(1, 0.9, 0, 1, 1, 0.9, 0, 0) + +[node name="Player" instance=ExtResource("1_l701f")] +linear_damp = 2.0 +script = ExtResource("2_5t06e") + +[node name="Sprite" type="AnimatedSprite2D" parent="." index="1"] +scale = Vector2(2, 2) +sprite_frames = SubResource("SpriteFrames_7i6wq") +animation = &"idle" +autoplay = "idle" +speed_scale = -1.0 + +[node name="Hitbox" type="CollisionPolygon2D" parent="." index="2"] +position = Vector2(12, 0) +polygon = PackedVector2Array(33, 0, 5, -14, -21, 0, 5, 14) + +[node name="CPUParticles2D" type="CPUParticles2D" parent="." index="3"] +position = Vector2(-23, 0) +amount = 80 +texture = ExtResource("5_fmfr6") +gravity = Vector2(2.08165e-12, 2.08165e-12) +color_ramp = SubResource("Gradient_urfxb") diff --git a/player-row.gd b/player-row.gd index a3828f2..264f189 100644 --- a/player-row.gd +++ b/player-row.gd @@ -13,8 +13,6 @@ func _ready(): absolute_movement = not config.get_value("config", "relative_controls") func _input(event): - if event.is_action_pressed("jump"): - global_position = get_global_mouse_position() if event.is_action_pressed("quare"): if num_quares >= max_quares: notifier.notify("All Quares in Use!") diff --git a/player.gd b/player.gd index 27ec6e4..dff4286 100644 --- a/player.gd +++ b/player.gd @@ -33,9 +33,9 @@ func _physics_process(delta): update_animation() if absolute_movement: - apply_central_force(Vector2(side_input, move_input).normalized() * -speed) + apply_central_force(Vector2(side_input, move_input).normalized() * -speed * linear_damp) else: - apply_central_force(transform.y * side_input * speed / -2 + transform.x * move_input * speed) + apply_central_force(transform.y * side_input * speed / -2 + transform.x * move_input * speed * linear_damp) func destroy(): $DeathFX.play() diff --git a/project.godot b/project.godot index 6e85952..c11837e 100644 --- a/project.godot +++ b/project.godot @@ -59,7 +59,9 @@ restart={ } jump={ "deadzone": 0.5, -"events": [] +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(130, 40),"global_position":Vector2(138, 120),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) +] } quare={ "deadzone": 0.5,