diff --git a/art/block/portal.png b/art/block/portal.png new file mode 100644 index 0000000..432567a Binary files /dev/null and b/art/block/portal.png differ diff --git a/art/block/portal.png.import b/art/block/portal.png.import new file mode 100644 index 0000000..6a5b1aa --- /dev/null +++ b/art/block/portal.png.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0tvtt4eu8jmt" +path="res://.godot/imported/portal.png-3a94da2fad788ef4d564f5a3ebc7fb87.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/block/portal.png" +dest_files=["res://.godot/imported/portal.png-3a94da2fad788ef4d564f5a3ebc7fb87.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/high_quality_mode=0 +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +mipmaps/preserve_alpha_test_coverage=false +mipmaps/alpha_test_threshold=0.5 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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_2d.gd b/player_2d.gd index ee1d48b..3c5def3 100644 --- a/player_2d.gd +++ b/player_2d.gd @@ -7,7 +7,7 @@ const GRAVITY_MULT = 0.8 const JUMP_VELOCITY = -410.0 var fall_timer = 0.0 - +var teleport_cooldown = 0 var jumps = 0 func _ready() -> void: @@ -41,9 +41,11 @@ func _process(delta: float) -> void: if is_on_floor(): fall_timer = 0 jumps = 1 + teleport_cooldown = 0 if is_on_wall(): jumps = 1 + teleport_cooldown = 0 func _physics_process(delta: float) -> void: diff --git a/player_2d.tscn b/player_2d.tscn index 2766773..404f261 100644 --- a/player_2d.tscn +++ b/player_2d.tscn @@ -4,13 +4,13 @@ [ext_resource type="Texture2D" uid="uid://ccxq1fh72bsdk" path="res://art/player.png" id="2_p3026"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_fj7yv"] -size = Vector2(16, 16) +size = Vector2(10, 16) [node name="Player2D" type="CharacterBody2D" unique_id=889851478] script = ExtResource("1_sy00s") [node name="Camera2D" type="Camera2D" parent="." unique_id=962368438] -zoom = Vector2(1.35, 1.35) +zoom = Vector2(1.65, 1.65) position_smoothing_enabled = true position_smoothing_speed = 0.5 diff --git a/teleporter.gd b/teleporter.gd new file mode 100644 index 0000000..cf23ea0 --- /dev/null +++ b/teleporter.gd @@ -0,0 +1,28 @@ +extends Node2D + +@export var paired_teleporter: String +var checked_teleport + +func _ready() -> void: + add_to_group("TELEPORTERS") + +func check_for_pair() -> String: + print(paired_teleporter) + return paired_teleporter + +func _process(delta: float) -> void: + pass + +func _physics_process(delta: float) -> void: + pass + +func _on_contact(body) -> void: + #print("PASSED OVER TELEPORTER") + #get_tree().call_group("TELEPORTERS","check_for_pair") + for teleporter in get_tree().get_nodes_in_group("TELEPORTERS"): + print("PAIRED" + str(teleporter)) + print("SELF" + str(self)) + if teleporter != self: + if %Player2D.teleport_cooldown == 0: + body.set_position(teleporter.get_position()) + %Player2D.teleport_cooldown = 1 diff --git a/teleporter.gd.uid b/teleporter.gd.uid new file mode 100644 index 0000000..a1a8876 --- /dev/null +++ b/teleporter.gd.uid @@ -0,0 +1 @@ +uid://bjbxktiuqlh1f diff --git a/teleporter.tscn b/teleporter.tscn new file mode 100644 index 0000000..3a3724f --- /dev/null +++ b/teleporter.tscn @@ -0,0 +1,20 @@ +[gd_scene format=3 uid="uid://byh115n12sgvt"] + +[ext_resource type="Texture2D" uid="uid://d0tvtt4eu8jmt" path="res://art/block/portal.png" id="1_eumkw"] +[ext_resource type="Script" uid="uid://bjbxktiuqlh1f" path="res://teleporter.gd" id="1_tuehi"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] +size = Vector2(16, 16) + +[node name="Teleporter" type="Node2D" unique_id=1201409437] +script = ExtResource("1_tuehi") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture = ExtResource("1_eumkw") + +[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165] +shape = SubResource("RectangleShape2D_eumkw") + +[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_contact"] diff --git a/teleporter.tscn3803743122.tmp b/teleporter.tscn3803743122.tmp new file mode 100644 index 0000000..3a3724f --- /dev/null +++ b/teleporter.tscn3803743122.tmp @@ -0,0 +1,20 @@ +[gd_scene format=3 uid="uid://byh115n12sgvt"] + +[ext_resource type="Texture2D" uid="uid://d0tvtt4eu8jmt" path="res://art/block/portal.png" id="1_eumkw"] +[ext_resource type="Script" uid="uid://bjbxktiuqlh1f" path="res://teleporter.gd" id="1_tuehi"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] +size = Vector2(16, 16) + +[node name="Teleporter" type="Node2D" unique_id=1201409437] +script = ExtResource("1_tuehi") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture = ExtResource("1_eumkw") + +[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165] +shape = SubResource("RectangleShape2D_eumkw") + +[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_contact"] diff --git a/teleporter.tscn3811320218.tmp b/teleporter.tscn3811320218.tmp new file mode 100644 index 0000000..3a3724f --- /dev/null +++ b/teleporter.tscn3811320218.tmp @@ -0,0 +1,20 @@ +[gd_scene format=3 uid="uid://byh115n12sgvt"] + +[ext_resource type="Texture2D" uid="uid://d0tvtt4eu8jmt" path="res://art/block/portal.png" id="1_eumkw"] +[ext_resource type="Script" uid="uid://bjbxktiuqlh1f" path="res://teleporter.gd" id="1_tuehi"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] +size = Vector2(16, 16) + +[node name="Teleporter" type="Node2D" unique_id=1201409437] +script = ExtResource("1_tuehi") + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture = ExtResource("1_eumkw") + +[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165] +shape = SubResource("RectangleShape2D_eumkw") + +[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_contact"] diff --git a/teleporter.tscn5086150262.tmp b/teleporter.tscn5086150262.tmp new file mode 100644 index 0000000..a5290f3 --- /dev/null +++ b/teleporter.tscn5086150262.tmp @@ -0,0 +1,21 @@ +[gd_scene format=3 uid="uid://byh115n12sgvt"] + +[ext_resource type="Texture2D" uid="uid://d0tvtt4eu8jmt" path="res://art/block/portal.png" id="1_eumkw"] +[ext_resource type="Script" uid="uid://bjbxktiuqlh1f" path="res://teleporter.gd" id="1_tuehi"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] +size = Vector2(16, 16) + +[node name="Teleporter" type="Node2D" unique_id=1201409437] +script = ExtResource("1_tuehi") +paired_teleporter = null + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] +texture = ExtResource("1_eumkw") + +[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165] +shape = SubResource("RectangleShape2D_eumkw") + +[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_contact"] diff --git a/world.tscn b/world.tscn index 4a8aa1b..b53cf07 100644 --- a/world.tscn +++ b/world.tscn @@ -5,10 +5,12 @@ [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_036b0"] [ext_resource type="Script" uid="uid://bds4m5we8nwe3" path="res://fps_label.gd" id="2_dwbse"] [ext_resource type="PackedScene" uid="uid://dx4pfup3sbk0f" path="res://long_block.tscn" id="3_dwbse"] +[ext_resource type="PackedScene" uid="uid://byh115n12sgvt" path="res://teleporter.tscn" id="4_gbfbk"] [ext_resource type="PackedScene" uid="uid://bos6oh7nwyeca" path="res://vertical_long_block.tscn" id="4_pkg7o"] [node name="World" type="Node2D" unique_id=1327991900] process_mode = 3 +scale = Vector2(1, 1.0155824) [node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1982310971] @@ -40,6 +42,14 @@ position = Vector2(55, 59) [node name="Tutorial" type="Node2D" parent="." unique_id=1391494772] +[node name="Teleporter1" parent="Tutorial" unique_id=1201409437 instance=ExtResource("4_gbfbk")] +position = Vector2(149, 91.57307) +paired_teleporter = "A" + +[node name="Teleporter2" parent="Tutorial" unique_id=1420301806 instance=ExtResource("4_gbfbk")] +position = Vector2(328, 30.524357) +paired_teleporter = "A" + [node name="Block" parent="Tutorial" unique_id=1409784601 instance=ExtResource("2_036b0")] position = Vector2(55, 118) diff --git a/world.tscn5012743266.tmp b/world.tscn5012743266.tmp new file mode 100644 index 0000000..b53cf07 --- /dev/null +++ b/world.tscn5012743266.tmp @@ -0,0 +1,60 @@ +[gd_scene format=3 uid="uid://iivvrut0lfsr"] + +[ext_resource type="Script" uid="uid://boovn4st1uq41" path="res://rich_text_label.gd" id="1_036b0"] +[ext_resource type="PackedScene" uid="uid://pmnwck5v0ntm" path="res://player_2d.tscn" id="1_aqk2v"] +[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_036b0"] +[ext_resource type="Script" uid="uid://bds4m5we8nwe3" path="res://fps_label.gd" id="2_dwbse"] +[ext_resource type="PackedScene" uid="uid://dx4pfup3sbk0f" path="res://long_block.tscn" id="3_dwbse"] +[ext_resource type="PackedScene" uid="uid://byh115n12sgvt" path="res://teleporter.tscn" id="4_gbfbk"] +[ext_resource type="PackedScene" uid="uid://bos6oh7nwyeca" path="res://vertical_long_block.tscn" id="4_pkg7o"] + +[node name="World" type="Node2D" unique_id=1327991900] +process_mode = 3 +scale = Vector2(1, 1.0155824) + +[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1982310971] + +[node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer" unique_id=63102975] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +bbcode_enabled = true +text = "FALL TIMER:" +script = ExtResource("1_036b0") + +[node name="RichTextLabel2" type="RichTextLabel" parent="CanvasLayer" unique_id=1423365940] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 22.0 +offset_bottom = 22.0 +grow_horizontal = 2 +grow_vertical = 2 +bbcode_enabled = true +text = "FPS:" +script = ExtResource("2_dwbse") + +[node name="Player2D" parent="." unique_id=889851478 instance=ExtResource("1_aqk2v")] +unique_name_in_owner = true +position = Vector2(55, 59) + +[node name="Tutorial" type="Node2D" parent="." unique_id=1391494772] + +[node name="Teleporter1" parent="Tutorial" unique_id=1201409437 instance=ExtResource("4_gbfbk")] +position = Vector2(149, 91.57307) +paired_teleporter = "A" + +[node name="Teleporter2" parent="Tutorial" unique_id=1420301806 instance=ExtResource("4_gbfbk")] +position = Vector2(328, 30.524357) +paired_teleporter = "A" + +[node name="Block" parent="Tutorial" unique_id=1409784601 instance=ExtResource("2_036b0")] +position = Vector2(55, 118) + +[node name="LongBlock" parent="Tutorial" unique_id=658573725 instance=ExtResource("3_dwbse")] +position = Vector2(166, 200) + +[node name="VerticalLongBlock" parent="Tutorial" unique_id=925152188 instance=ExtResource("4_pkg7o")] +position = Vector2(250, 141) diff --git a/world.tscn5019548382.tmp b/world.tscn5019548382.tmp new file mode 100644 index 0000000..b53cf07 --- /dev/null +++ b/world.tscn5019548382.tmp @@ -0,0 +1,60 @@ +[gd_scene format=3 uid="uid://iivvrut0lfsr"] + +[ext_resource type="Script" uid="uid://boovn4st1uq41" path="res://rich_text_label.gd" id="1_036b0"] +[ext_resource type="PackedScene" uid="uid://pmnwck5v0ntm" path="res://player_2d.tscn" id="1_aqk2v"] +[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_036b0"] +[ext_resource type="Script" uid="uid://bds4m5we8nwe3" path="res://fps_label.gd" id="2_dwbse"] +[ext_resource type="PackedScene" uid="uid://dx4pfup3sbk0f" path="res://long_block.tscn" id="3_dwbse"] +[ext_resource type="PackedScene" uid="uid://byh115n12sgvt" path="res://teleporter.tscn" id="4_gbfbk"] +[ext_resource type="PackedScene" uid="uid://bos6oh7nwyeca" path="res://vertical_long_block.tscn" id="4_pkg7o"] + +[node name="World" type="Node2D" unique_id=1327991900] +process_mode = 3 +scale = Vector2(1, 1.0155824) + +[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1982310971] + +[node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer" unique_id=63102975] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +bbcode_enabled = true +text = "FALL TIMER:" +script = ExtResource("1_036b0") + +[node name="RichTextLabel2" type="RichTextLabel" parent="CanvasLayer" unique_id=1423365940] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 22.0 +offset_bottom = 22.0 +grow_horizontal = 2 +grow_vertical = 2 +bbcode_enabled = true +text = "FPS:" +script = ExtResource("2_dwbse") + +[node name="Player2D" parent="." unique_id=889851478 instance=ExtResource("1_aqk2v")] +unique_name_in_owner = true +position = Vector2(55, 59) + +[node name="Tutorial" type="Node2D" parent="." unique_id=1391494772] + +[node name="Teleporter1" parent="Tutorial" unique_id=1201409437 instance=ExtResource("4_gbfbk")] +position = Vector2(149, 91.57307) +paired_teleporter = "A" + +[node name="Teleporter2" parent="Tutorial" unique_id=1420301806 instance=ExtResource("4_gbfbk")] +position = Vector2(328, 30.524357) +paired_teleporter = "A" + +[node name="Block" parent="Tutorial" unique_id=1409784601 instance=ExtResource("2_036b0")] +position = Vector2(55, 118) + +[node name="LongBlock" parent="Tutorial" unique_id=658573725 instance=ExtResource("3_dwbse")] +position = Vector2(166, 200) + +[node name="VerticalLongBlock" parent="Tutorial" unique_id=925152188 instance=ExtResource("4_pkg7o")] +position = Vector2(250, 141)