diff --git a/Objects/ConveyorBelt/ConveyorBelt.gd b/Objects/ConveyorBelt/ConveyorBelt.gd index 0d48cdf..153f1a9 100644 --- a/Objects/ConveyorBelt/ConveyorBelt.gd +++ b/Objects/ConveyorBelt/ConveyorBelt.gd @@ -23,3 +23,10 @@ func get_relative_cb_speed(other_pos: Vector2): var relative_position = other_pos - position var speed_sign = sign(relative_position.dot(Vector2.UP.rotated(rotation))) return speed_sign * cb_speed + + +func _process(delta): + if Input.is_action_just_pressed("cheat_slower"): + set_cb_speed(cb_speed - 50) + if Input.is_action_just_pressed("cheat_faster"): + set_cb_speed(cb_speed + 50) diff --git a/Objects/Laser.gd b/Objects/Laser.gd index b178575..8ab09de 100644 --- a/Objects/Laser.gd +++ b/Objects/Laser.gd @@ -1,4 +1,5 @@ extends Node2D +class_name Laser export(bool) var is_active: bool = true setget set_active diff --git a/Objects/Levels/BuzzsawChoice.tscn b/Objects/Levels/BuzzsawChoice.tscn index cf11cbd..9a223c8 100644 --- a/Objects/Levels/BuzzsawChoice.tscn +++ b/Objects/Levels/BuzzsawChoice.tscn @@ -1,5 +1,7 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=10 format=2] +[ext_resource path="res://Objects/ScrollingObjects/Background.tscn" type="PackedScene" id=1] +[ext_resource path="res://Objects/ScrollingObjects/CrossLoop.tscn" type="PackedScene" id=2] [ext_resource path="res://Sprites/button_right.png" type="Texture" id=4] [ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostGroup.tscn" type="PackedScene" id=6] [ext_resource path="res://Objects/ScrollingObjects/Utilities/ScrollingPipesTileMap.tscn" type="PackedScene" id=7] @@ -9,29 +11,27 @@ [ext_resource path="res://Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.tscn" type="PackedScene" id=12] [node name="BuzzsawChoice" type="Node2D"] -position = Vector2( 280, 0 ) [node name="Buzzsaw4" parent="." instance=ExtResource( 8 )] -position = Vector2( -120, 600 ) +position = Vector2( 480, 600 ) [node name="Buzzsaw" parent="." instance=ExtResource( 8 )] -position = Vector2( 0, 600 ) +position = Vector2( 600, 600 ) [node name="Buzzsaw2" parent="." instance=ExtResource( 8 )] -position = Vector2( 120, 600 ) +position = Vector2( 720, 600 ) [node name="Buzzsaw3" parent="." instance=ExtResource( 8 )] -position = Vector2( 240, 600 ) +position = Vector2( 840, 600 ) [node name="ScrollingPipe3" parent="." instance=ExtResource( 9 )] -position = Vector2( 600, 0 ) +position = Vector2( 1280, 0 ) [node name="TileMap" parent="ScrollingPipe3" instance=ExtResource( 7 )] -position = Vector2( -600, 0 ) -tile_data = PoolIntArray( 851962, 0, 0, 786440, 0, 1, 917498, 0, 65536, 851976, 0, 65536, 983034, 0, 65536, 917512, 0, 65536, 1048570, 0, 65536, 983048, 0, 65536, 1114105, 0, 0, 1114106, 0, 131073, 1048584, 0, 131072, 1048585, 0, 1 ) +tile_data = PoolIntArray( 65513, 0, 65536, 65527, 0, 65536, 131049, 0, 65536, 196585, 0, 65536, 262121, 0, 65536, 327657, 0, 131072, 327658, 0, 65537, 327659, 0, 65537, 327660, 0, 65537, 327661, 0, 65537, 327662, 0, 65537, 327663, 0, 65537, 327664, 0, 65537, 327665, 0, 65537, 327666, 0, 65537, 327667, 0, 65537, 327668, 0, 65537, 327669, 0, 65537, 327670, 0, 65537, 327671, 0, 131073, 851945, 0, 0, 851959, 0, 1, 917481, 0, 65536, 917495, 0, 65536, 983015, 0, 0, 983016, 0, 65537, 983017, 0, 65536, 983031, 0, 65536, 983032, 0, 65537, 983033, 0, 1, 1048551, 0, 65536, 1048553, 0, 65536, 1048567, 0, 65536, 1048569, 0, 65536, 1114087, 0, 65536, 1114089, 0, 65536, 1114103, 0, 65536, 1114105, 0, 65536 ) [node name="GhostGroup" parent="." instance=ExtResource( 6 )] -position = Vector2( -180, 500 ) +position = Vector2( 420, 500 ) [node name="GhostBlock" parent="GhostGroup" instance=ExtResource( 10 )] is_active = false @@ -84,9 +84,54 @@ is_active = false position = Vector2( 480, 0 ) is_active = false +[node name="GhostGroup2" parent="." instance=ExtResource( 6 )] + +[node name="GhostBlock" parent="GhostGroup2" instance=ExtResource( 10 )] +position = Vector2( 980, 460 ) +is_active = false + +[node name="GhostBlock2" parent="GhostGroup2" instance=ExtResource( 10 )] +position = Vector2( 1020, 420 ) +is_active = false + +[node name="GhostBlock3" parent="GhostGroup2" instance=ExtResource( 10 )] +position = Vector2( 1060, 380 ) +is_active = false + +[node name="GhostBlock4" parent="GhostGroup2" instance=ExtResource( 10 )] +position = Vector2( 1100, 340 ) +is_active = false + +[node name="GhostBlock5" parent="GhostGroup2" instance=ExtResource( 10 )] +position = Vector2( 1140, 300 ) +is_active = false + +[node name="GhostBlock6" parent="GhostGroup2" instance=ExtResource( 10 )] +position = Vector2( 1180, 260 ) +is_active = false + +[node name="GhostBlock7" parent="GhostGroup2" instance=ExtResource( 10 )] +position = Vector2( 1220, 220 ) +is_active = false + +[node name="GhostBlock8" parent="GhostGroup2" instance=ExtResource( 10 )] +position = Vector2( 1260, 180 ) +is_active = false + [node name="CBSpeedChangeButton" parent="." instance=ExtResource( 12 )] -position = Vector2( -260, 620 ) +position = Vector2( 340, 620 ) color = Color( 0.7, 1, 0.7, 1 ) icon = ExtResource( 4 ) change = 20.0 + +[node name="Background" parent="." instance=ExtResource( 1 )] + +[node name="CrossLoop" parent="." instance=ExtResource( 2 )] +position = Vector2( 440, 120 ) + +[node name="CrossLoop2" parent="." instance=ExtResource( 2 )] +position = Vector2( 660, 120 ) + +[node name="CrossLoop3" parent="." instance=ExtResource( 2 )] +position = Vector2( 880, 120 ) [connection signal="clicked" from="CBSpeedChangeButton" to="GhostGroup" method="toggle"] diff --git a/Objects/Levels/Intro.tscn b/Objects/Levels/Intro.tscn index fc5a4aa..d8fe38d 100644 --- a/Objects/Levels/Intro.tscn +++ b/Objects/Levels/Intro.tscn @@ -1,13 +1,9 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=9 format=2] -[ext_resource path="res://Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.gd" type="Script" id=1] -[ext_resource path="res://Tilesets/Pipes.tres" type="TileSet" id=2] -[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostBlock.gd" type="Script" id=3] +[ext_resource path="res://Objects/ScrollingObjects/Background.tscn" type="PackedScene" id=1] [ext_resource path="res://Sprites/button_right.png" type="Texture" id=4] -[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostGroup.gd" type="Script" id=5] [ext_resource path="res://Objects/ScrollingObjects/Loop.tscn" type="PackedScene" id=6] [ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostGroup.tscn" type="PackedScene" id=7] -[ext_resource path="res://Objects/ScrollingObjects/Loop.gd" type="Script" id=8] [ext_resource path="res://Objects/ScrollingObjects/Utilities/ScrollingPipesTileMap.tscn" type="PackedScene" id=9] [ext_resource path="res://Objects/ScrollingObjects/ScrollingPipe.tscn" type="PackedScene" id=10] [ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostBlock.tscn" type="PackedScene" id=11] @@ -15,73 +11,40 @@ [node name="Intro" type="Node2D"] -[node name="ScrollingPipe" type="KinematicBody2D" parent="." instance=ExtResource( 10 )] +[node name="ScrollingPipe" parent="." instance=ExtResource( 10 )] position = Vector2( 1300, -20 ) -collision_layer = 8 -collision_mask = 2 -motion/sync_to_physics = true -[node name="TileMap" type="TileMap" parent="ScrollingPipe" instance=ExtResource( 9 )] +[node name="TileMap" parent="ScrollingPipe" instance=ExtResource( 9 )] position = Vector2( -1140, 660 ) -tile_set = ExtResource( 2 ) -cell_size = Vector2( 40, 40 ) -cell_quadrant_size = 40 -collision_use_kinematic = true -collision_layer = 8 -collision_mask = 2 -format = 1 tile_data = PoolIntArray( -393205, 0, 0, -393204, 0, 65537, -393200, 0, 65537, -393199, 0, 1, -327669, 0, 65536, -327663, 0, 65536, -262133, 0, 65536, -262127, 0, 65536, -196597, 0, 65536, -196591, 0, 65536, -131065, 0, 0, -131064, 0, 65537, -131063, 0, 65537, -131062, 0, 65537, -131061, 0, 131073, -131055, 0, 131072, -131054, 0, 65537, -131053, 0, 65537, -131052, 0, 65537, -131051, 0, 1, -65534, 0, 0, -65533, 0, 65537, -65532, 0, 1, -65529, 0, 65536, -65515, 0, 65536, 2, 0, 65536, 4, 0, 65536, 7, 0, 65536, 21, 0, 65536 ) -[node name="CBSpeedChangeButton" type="Area2D" parent="." instance=ExtResource( 12 )] +[node name="CBSpeedChangeButton" parent="." instance=ExtResource( 12 )] position = Vector2( 1260, 660 ) -collision_layer = 8 -collision_mask = 2147483648 -script = ExtResource( 1 ) color = Color( 0, 1, 0, 1 ) icon = ExtResource( 4 ) change = 100.0 -[node name="Loop" type="Area2D" parent="." instance=ExtResource( 6 )] +[node name="Loop" parent="." instance=ExtResource( 6 )] position = Vector2( 300, 580 ) -collision_layer = 32 -collision_mask = 2 -script = ExtResource( 8 ) -[node name="Loop2" type="Area2D" parent="." instance=ExtResource( 6 )] +[node name="Loop2" parent="." instance=ExtResource( 6 )] position = Vector2( 500, 540 ) -collision_layer = 32 -collision_mask = 2 -script = ExtResource( 8 ) -[node name="Loop3" type="Area2D" parent="." instance=ExtResource( 6 )] +[node name="Loop3" parent="." instance=ExtResource( 6 )] position = Vector2( 740, 380 ) -collision_layer = 32 -collision_mask = 2 -script = ExtResource( 8 ) -[node name="Loop4" type="Area2D" parent="." instance=ExtResource( 6 )] +[node name="Loop4" parent="." instance=ExtResource( 6 )] position = Vector2( 980, 540 ) -collision_layer = 32 -collision_mask = 2 -script = ExtResource( 8 ) -[node name="GhostGroup" type="Node2D" parent="." instance=ExtResource( 7 )] +[node name="GhostGroup" parent="." instance=ExtResource( 7 )] position = Vector2( 740, 420 ) -script = ExtResource( 5 ) -[node name="GhostBlock" type="StaticBody2D" parent="GhostGroup" instance=ExtResource( 11 )] +[node name="GhostBlock" parent="GhostGroup" instance=ExtResource( 11 )] position = Vector2( -40, 0 ) -script = ExtResource( 3 ) -[node name="GhostBlock2" type="StaticBody2D" parent="GhostGroup" instance=ExtResource( 11 )] -script = ExtResource( 3 ) +[node name="GhostBlock2" parent="GhostGroup" instance=ExtResource( 11 )] -[node name="GhostBlock3" type="StaticBody2D" parent="GhostGroup" instance=ExtResource( 11 )] +[node name="GhostBlock3" parent="GhostGroup" instance=ExtResource( 11 )] position = Vector2( 40, 0 ) -script = ExtResource( 3 ) -[connection signal="clicked" from="CBSpeedChangeButton" to="CBSpeedChangeButton" method="_on_GameButton_clicked"] -[connection signal="input_event" from="CBSpeedChangeButton" to="CBSpeedChangeButton" method="_on_GameButton_input_event"] -[connection signal="body_entered" from="Loop" to="Loop" method="_on_Loop_body_entered"] -[connection signal="body_entered" from="Loop2" to="Loop2" method="_on_Loop_body_entered"] -[connection signal="body_entered" from="Loop3" to="Loop3" method="_on_Loop_body_entered"] -[connection signal="body_entered" from="Loop4" to="Loop4" method="_on_Loop_body_entered"] + +[node name="Background" parent="." instance=ExtResource( 1 )] diff --git a/Objects/Levels/Lasers.tscn b/Objects/Levels/Lasers.tscn new file mode 100644 index 0000000..4939a45 --- /dev/null +++ b/Objects/Levels/Lasers.tscn @@ -0,0 +1,119 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://Objects/ScrollingObjects/ScrollingLaser.tscn" type="PackedScene" id=1] +[ext_resource path="res://Objects/ScrollingObjects/ScrollingBlock.tscn" type="PackedScene" id=2] +[ext_resource path="res://Objects/ScrollingObjects/Buttons/GameButton.tscn" type="PackedScene" id=3] +[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostGroup.tscn" type="PackedScene" id=4] +[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostBlock.tscn" type="PackedScene" id=5] +[ext_resource path="res://Objects/ScrollingObjects/Loop.tscn" type="PackedScene" id=6] +[ext_resource path="res://Objects/ScrollingObjects/Background.tscn" type="PackedScene" id=7] + +[node name="Lasers" type="Node2D"] + +[node name="GameButton" parent="." instance=ExtResource( 3 )] +position = Vector2( 200, 660 ) +color = Color( 1, 0, 0, 1 ) + +[node name="ScrollingBlock" parent="." instance=ExtResource( 2 )] +position = Vector2( 200, 460 ) + +[node name="ScrollingBlock2" parent="." instance=ExtResource( 2 )] +position = Vector2( 240, 500 ) + +[node name="ScrollingBlock3" parent="." instance=ExtResource( 2 )] +position = Vector2( 160, 500 ) + +[node name="GameButton2" parent="." instance=ExtResource( 3 )] +position = Vector2( 480, 660 ) +color = Color( 1, 0, 0, 1 ) + +[node name="ScrollingBlock4" parent="." instance=ExtResource( 2 )] +position = Vector2( 480, 460 ) + +[node name="ScrollingBlock5" parent="." instance=ExtResource( 2 )] +position = Vector2( 520, 500 ) + +[node name="ScrollingBlock6" parent="." instance=ExtResource( 2 )] +position = Vector2( 440, 500 ) + +[node name="GhostGroup" parent="." instance=ExtResource( 4 )] +position = Vector2( 760, 460 ) + +[node name="GhostBlock" parent="GhostGroup" instance=ExtResource( 5 )] +is_active = false + +[node name="GhostBlock2" parent="GhostGroup" instance=ExtResource( 5 )] +position = Vector2( -40, 40 ) +is_active = false + +[node name="GhostBlock3" parent="GhostGroup" instance=ExtResource( 5 )] +position = Vector2( 40, 40 ) +is_active = false + +[node name="Loop" parent="." instance=ExtResource( 6 )] +position = Vector2( 160, 460 ) + +[node name="Loop2" parent="." instance=ExtResource( 6 )] +position = Vector2( 200, 420 ) + +[node name="Loop3" parent="." instance=ExtResource( 6 )] +position = Vector2( 240, 460 ) + +[node name="Loop4" parent="." instance=ExtResource( 6 )] +position = Vector2( 440, 460 ) + +[node name="Loop5" parent="." instance=ExtResource( 6 )] +position = Vector2( 480, 420 ) + +[node name="Loop6" parent="." instance=ExtResource( 6 )] +position = Vector2( 520, 460 ) + +[node name="Loop7" parent="." instance=ExtResource( 6 )] +position = Vector2( 720, 460 ) + +[node name="Loop8" parent="." instance=ExtResource( 6 )] +position = Vector2( 800, 460 ) + +[node name="GameButton3" parent="." instance=ExtResource( 3 )] +position = Vector2( 760, 660 ) +color = Color( 1, 0, 0, 1 ) + +[node name="GhostGroup2" parent="." instance=ExtResource( 4 )] +position = Vector2( 1040, 460 ) + +[node name="GhostBlock" parent="GhostGroup2" instance=ExtResource( 5 )] + +[node name="GhostBlock2" parent="GhostGroup2" instance=ExtResource( 5 )] +position = Vector2( -40, 40 ) + +[node name="GhostBlock3" parent="GhostGroup2" instance=ExtResource( 5 )] +position = Vector2( 40, 40 ) + +[node name="Loop9" parent="." instance=ExtResource( 6 )] +position = Vector2( 1000, 460 ) + +[node name="Loop10" parent="." instance=ExtResource( 6 )] +position = Vector2( 1080, 460 ) + +[node name="GameButton4" parent="." instance=ExtResource( 3 )] +position = Vector2( 1040, 660 ) +color = Color( 1, 0, 0, 1 ) + +[node name="Background" parent="." instance=ExtResource( 7 )] + +[node name="ScrollingLaser" parent="." instance=ExtResource( 1 )] +position = Vector2( 200, 140 ) + +[node name="ScrollingLaser2" parent="." instance=ExtResource( 1 )] +position = Vector2( 480, 140 ) +is_active = false + +[node name="ScrollingLaser3" parent="." instance=ExtResource( 1 )] +position = Vector2( 760, 140 ) + +[node name="ScrollingLaser4" parent="." instance=ExtResource( 1 )] +position = Vector2( 1040, 140 ) +[connection signal="clicked" from="GameButton" to="ScrollingLaser" method="toggle"] +[connection signal="clicked" from="GameButton2" to="ScrollingLaser2" method="toggle"] +[connection signal="clicked" from="GameButton3" to="GhostGroup" method="toggle"] +[connection signal="clicked" from="GameButton4" to="GhostGroup2" method="deactivate"] diff --git a/Objects/Levels/LongJump.tscn b/Objects/Levels/LongJump.tscn new file mode 100644 index 0000000..a626453 --- /dev/null +++ b/Objects/Levels/LongJump.tscn @@ -0,0 +1,107 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostGroup.tscn" type="PackedScene" id=1] +[ext_resource path="res://Objects/ScrollingObjects/Buzzsaw.tscn" type="PackedScene" id=2] +[ext_resource path="res://Objects/ScrollingObjects/Utilities/ScrollingPipesTileMap.tscn" type="PackedScene" id=3] +[ext_resource path="res://Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.tscn" type="PackedScene" id=4] +[ext_resource path="res://Objects/ScrollingObjects/ScrollingPipe.tscn" type="PackedScene" id=5] +[ext_resource path="res://Sprites/button_right.png" type="Texture" id=6] +[ext_resource path="res://Objects/ScrollingObjects/Background.tscn" type="PackedScene" id=7] +[ext_resource path="res://Objects/ScrollingObjects/Loop.tscn" type="PackedScene" id=8] +[ext_resource path="res://Objects/ScrollingObjects/CrossLoop.tscn" type="PackedScene" id=9] + +[node name="Node2D" type="Node2D"] + +[node name="Background" parent="." instance=ExtResource( 7 )] + +[node name="Buzzsaw" parent="." instance=ExtResource( 2 )] +position = Vector2( 120, 600 ) + +[node name="Buzzsaw2" parent="." instance=ExtResource( 2 )] +position = Vector2( 240, 600 ) + +[node name="Buzzsaw3" parent="." instance=ExtResource( 2 )] +position = Vector2( 360, 600 ) + +[node name="Buzzsaw4" parent="." instance=ExtResource( 2 )] +position = Vector2( 480, 600 ) + +[node name="Buzzsaw5" parent="." instance=ExtResource( 2 )] +position = Vector2( 600, 600 ) + +[node name="Buzzsaw6" parent="." instance=ExtResource( 2 )] +position = Vector2( 720, 600 ) + +[node name="Buzzsaw7" parent="." instance=ExtResource( 2 )] +position = Vector2( 840, 600 ) + +[node name="Buzzsaw8" parent="." instance=ExtResource( 2 )] +position = Vector2( 960, 600 ) + +[node name="Buzzsaw9" parent="." instance=ExtResource( 2 )] +position = Vector2( 1080, 600 ) + +[node name="Buzzsaw10" parent="." instance=ExtResource( 2 )] +position = Vector2( 1200, 600 ) + +[node name="ScrollingPipe" parent="." instance=ExtResource( 5 )] +position = Vector2( 1280, 0 ) + +[node name="TileMap" parent="ScrollingPipe" instance=ExtResource( 3 )] +tile_data = PoolIntArray( 327648, 0, 65537, 327649, 0, 65537, 327650, 0, 65537, 327651, 0, 65537, 327652, 0, 65537, 327653, 0, 65537, 327654, 0, 65537, 327655, 0, 65537, 327656, 0, 65537, 327657, 0, 65537, 327658, 0, 65537, 327659, 0, 65537, 327660, 0, 65537, 327661, 0, 65537, 327662, 0, 65537, 327663, 0, 65537, 327664, 0, 65537, 327665, 0, 65537, 327666, 0, 65537, 327667, 0, 65537, 327668, 0, 65537, 327669, 0, 65537, 327670, 0, 65537, 327671, 0, 65537, 327672, 0, 65537, 327673, 0, 65537, 327674, 0, 65537, 327675, 0, 65537, 327676, 0, 65537, 327677, 0, 65537, 327678, 0, 65537, 327679, 0, 65537, 917472, 0, 65536, 917503, 0, 65536, 983008, 0, 65536, 983038, 0, 0, 983039, 0, 131073, 1048544, 0, 65536, 1048574, 0, 131072, 1048575, 0, 1, 1114080, 0, 65536, 1114111, 0, 65536 ) + +[node name="GhostGroup" parent="." instance=ExtResource( 1 )] + +[node name="CBSpeedChangeButton" parent="GhostGroup" instance=ExtResource( 4 )] +position = Vector2( 1260, 500 ) +change = -300.0 + +[node name="CBSpeedChangeButton2" parent="GhostGroup" instance=ExtResource( 4 )] +position = Vector2( 1220, 500 ) +change = -300.0 + +[node name="CBSpeedChangeButton3" parent="GhostGroup" instance=ExtResource( 4 )] +position = Vector2( 1180, 500 ) +change = -300.0 + +[node name="GhostGroup2" parent="." instance=ExtResource( 1 )] +position = Vector2( -1160, 0 ) + +[node name="CBSpeedChangeButton" parent="GhostGroup2" instance=ExtResource( 4 )] +position = Vector2( 1260, 500 ) +color = Color( 0, 1, 0.376471, 1 ) +icon = ExtResource( 6 ) +change = 300.0 + +[node name="CBSpeedChangeButton2" parent="GhostGroup2" instance=ExtResource( 4 )] +position = Vector2( 1220, 500 ) +color = Color( 0, 1, 0.376471, 1 ) +icon = ExtResource( 6 ) +change = 300.0 + +[node name="CBSpeedChangeButton3" parent="GhostGroup2" instance=ExtResource( 4 )] +position = Vector2( 1180, 500 ) +color = Color( 0, 1, 0.376471, 1 ) +icon = ExtResource( 6 ) +change = 300.0 + +[node name="Loop6" parent="." instance=ExtResource( 8 )] +position = Vector2( 1180, 460 ) + +[node name="Loop9" parent="." instance=ExtResource( 8 )] +position = Vector2( 100, 460 ) + +[node name="CrossLoop2" parent="." instance=ExtResource( 9 )] +position = Vector2( 660, 280 ) +[connection signal="clicked" from="GhostGroup/CBSpeedChangeButton" to="GhostGroup/CBSpeedChangeButton" method="_on_GameButton_clicked"] +[connection signal="clicked" from="GhostGroup/CBSpeedChangeButton" to="GhostGroup" method="deactivate"] +[connection signal="clicked" from="GhostGroup/CBSpeedChangeButton2" to="GhostGroup/CBSpeedChangeButton2" method="_on_GameButton_clicked"] +[connection signal="clicked" from="GhostGroup/CBSpeedChangeButton2" to="GhostGroup" method="deactivate"] +[connection signal="clicked" from="GhostGroup/CBSpeedChangeButton3" to="GhostGroup/CBSpeedChangeButton3" method="_on_GameButton_clicked"] +[connection signal="clicked" from="GhostGroup/CBSpeedChangeButton3" to="GhostGroup" method="deactivate"] +[connection signal="clicked" from="GhostGroup2/CBSpeedChangeButton" to="GhostGroup2/CBSpeedChangeButton" method="_on_GameButton_clicked"] +[connection signal="clicked" from="GhostGroup2/CBSpeedChangeButton" to="GhostGroup2" method="deactivate"] +[connection signal="clicked" from="GhostGroup2/CBSpeedChangeButton2" to="GhostGroup2/CBSpeedChangeButton2" method="_on_GameButton_clicked"] +[connection signal="clicked" from="GhostGroup2/CBSpeedChangeButton2" to="GhostGroup2" method="deactivate"] +[connection signal="clicked" from="GhostGroup2/CBSpeedChangeButton3" to="GhostGroup2" method="deactivate"] +[connection signal="clicked" from="GhostGroup2/CBSpeedChangeButton3" to="GhostGroup2/CBSpeedChangeButton3" method="_on_GameButton_clicked"] diff --git a/Objects/Levels/Toggles.tscn b/Objects/Levels/Toggles.tscn index c98d67d..974880d 100644 --- a/Objects/Levels/Toggles.tscn +++ b/Objects/Levels/Toggles.tscn @@ -1,5 +1,6 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=8 format=2] +[ext_resource path="res://Objects/ScrollingObjects/Background.tscn" type="PackedScene" id=1] [ext_resource path="res://Objects/ScrollingObjects/Loop.tscn" type="PackedScene" id=4] [ext_resource path="res://Objects/ScrollingObjects/Buttons/GameButton.tscn" type="PackedScene" id=5] [ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostGroup.tscn" type="PackedScene" id=6] @@ -34,7 +35,7 @@ position = Vector2( -740, 380 ) position = Vector2( -700, 420 ) [node name="GameButton" parent="GhostGroup2" instance=ExtResource( 5 )] -position = Vector2( 200, -160 ) +position = Vector2( 480, 160 ) [node name="GameButton2" parent="GhostGroup2" instance=ExtResource( 5 )] position = Vector2( 560, 160 ) @@ -119,5 +120,10 @@ position = Vector2( -500, 660 ) [node name="Loop16" parent="." instance=ExtResource( 4 )] position = Vector2( -180, 660 ) + +[node name="Background" parent="." instance=ExtResource( 1 )] +position = Vector2( -500, 360 ) +[connection signal="clicked" from="GhostGroup2/GameButton" to="GhostGroup2/GameButton" method="deactivate"] [connection signal="clicked" from="GhostGroup2/GameButton" to="GhostGroup2" method="toggle"] [connection signal="clicked" from="GhostGroup2/GameButton2" to="GhostGroup2" method="toggle"] +[connection signal="clicked" from="GhostGroup2/GameButton2" to="GhostGroup2/GameButton2" method="deactivate"] diff --git a/Objects/Levels/Tower.tscn b/Objects/Levels/Tower.tscn new file mode 100644 index 0000000..8633703 --- /dev/null +++ b/Objects/Levels/Tower.tscn @@ -0,0 +1,100 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://Objects/ScrollingObjects/Background.tscn" type="PackedScene" id=1] +[ext_resource path="res://Objects/ScrollingObjects/Utilities/ScrollingPipesTileMap.tscn" type="PackedScene" id=2] +[ext_resource path="res://Objects/ScrollingObjects/ScrollingPipe.tscn" type="PackedScene" id=3] +[ext_resource path="res://Objects/ScrollingObjects/CrossLoop.tscn" type="PackedScene" id=4] +[ext_resource path="res://Objects/ScrollingObjects/Loop.tscn" type="PackedScene" id=5] +[ext_resource path="res://Objects/ScrollingObjects/Buttons/GameButton.tscn" type="PackedScene" id=6] +[ext_resource path="res://Objects/ScrollingObjects/Buttons/GameButtonChain.tscn" type="PackedScene" id=7] +[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostBlock.tscn" type="PackedScene" id=8] +[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostGroup.tscn" type="PackedScene" id=9] + +[node name="Tower" type="Node2D"] + +[node name="Background" parent="." instance=ExtResource( 1 )] + +[node name="ScrollingPipe" parent="." instance=ExtResource( 3 )] +position = Vector2( 1280, 0 ) + +[node name="TileMap" parent="ScrollingPipe" instance=ExtResource( 2 )] +tile_data = PoolIntArray( 65521, 0, 65536, 131057, 0, 65536, 131061, 0, 65537, 131062, 0, 65537, 131063, 0, 1, 196590, 0, 65536, 196593, 0, 131072, 196594, 0, 65537, 196599, 0, 65536, 262135, 0, 65536, 262137, 0, 0, 262138, 0, 65537, 262139, 0, 65537, 327671, 0, 65536, 327673, 0, 65536, 393205, 0, 65537, 393206, 0, 65537, 393207, 0, 131073, 393209, 0, 65536, 458745, 0, 65536, 524266, 0, 0, 524267, 0, 65537, 524268, 0, 65537, 524269, 0, 65537, 524270, 0, 65537, 524271, 0, 65537, 524272, 0, 65537, 524273, 0, 65537, 524274, 0, 1, 524281, 0, 131072, 524282, 0, 65537, 524283, 0, 65537, 589802, 0, 65536, 589810, 0, 65536, 655338, 0, 65536, 655346, 0, 65536, 720872, 0, 65536, 720874, 0, 65536, 720875, 0, 0, 720876, 0, 65537, 720877, 0, 65537, 720878, 0, 65537, 720879, 0, 65537, 720882, 0, 65536, 786408, 0, 65536, 786410, 0, 65536, 786411, 0, 65536, 786418, 0, 65536, 851944, 0, 65536, 851946, 0, 65536, 851947, 0, 65536, 851954, 0, 65536, 917478, 0, 0, 917479, 0, 65537, 917480, 0, 131073, 917482, 0, 65536, 917483, 0, 65536, 917484, 0, 0, 917485, 0, 65537, 917488, 0, 65537, 917489, 0, 65537, 917490, 0, 131073, 983014, 0, 65536, 983018, 0, 65536, 983019, 0, 65536, 983020, 0, 65536, 983031, 0, 0, 983032, 0, 1, 1048547, 0, 0, 1048548, 0, 1, 1048550, 0, 65536, 1048554, 0, 65536, 1048555, 0, 65536, 1048556, 0, 65536, 1048567, 0, 65536, 1048568, 0, 65536, 1114084, 0, 65536, 1114086, 0, 65536, 1114090, 0, 65536, 1114091, 0, 65536, 1114092, 0, 131072, 1114093, 0, 65537, 1114094, 0, 65537, 1114095, 0, 65537, 1114096, 0, 65537, 1114097, 0, 65537, 1114098, 0, 65537, 1114099, 0, 65537, 1114100, 0, 65537, 1114101, 0, 65537, 1114102, 0, 65537, 1114103, 0, 131073, 1114104, 0, 65536 ) + +[node name="CrossLoop" parent="." instance=ExtResource( 4 )] +position = Vector2( 480, 360 ) + +[node name="Loop" parent="." instance=ExtResource( 5 )] +position = Vector2( 520, 480 ) + +[node name="Loop2" parent="." instance=ExtResource( 5 )] +position = Vector2( 600, 480 ) + +[node name="Loop3" parent="." instance=ExtResource( 5 )] +position = Vector2( 680, 480 ) + +[node name="CrossLoop2" parent="." instance=ExtResource( 4 )] +position = Vector2( 580, 360 ) + +[node name="CrossLoop3" parent="." instance=ExtResource( 4 )] +position = Vector2( 680, 360 ) + +[node name="GameButtonChain" parent="." instance=ExtResource( 7 )] +position = Vector2( 540, 100 ) + +[node name="GameButton" parent="GameButtonChain" instance=ExtResource( 6 )] +position = Vector2( -20, -40 ) + +[node name="GameButton2" parent="GameButtonChain" instance=ExtResource( 6 )] +position = Vector2( 20, -40 ) + +[node name="GameButton3" parent="GameButtonChain" instance=ExtResource( 6 )] +position = Vector2( 40, 0 ) + +[node name="GameButton4" parent="GameButtonChain" instance=ExtResource( 6 )] +position = Vector2( 20, 40 ) + +[node name="GameButton5" parent="GameButtonChain" instance=ExtResource( 6 )] +position = Vector2( -20, 40 ) + +[node name="GameButton6" parent="GameButtonChain" instance=ExtResource( 6 )] +position = Vector2( -40, 0 ) + +[node name="GhostGroup" parent="." instance=ExtResource( 9 )] +position = Vector2( 600, 540 ) + +[node name="GhostBlock" parent="GhostGroup" instance=ExtResource( 8 )] +position = Vector2( -20, 0 ) + +[node name="GhostBlock2" parent="GhostGroup" instance=ExtResource( 8 )] +position = Vector2( 20, 0 ) + +[node name="GhostBlock3" parent="GhostGroup" instance=ExtResource( 8 )] +position = Vector2( 260, -360 ) + +[node name="GhostBlock4" parent="GhostGroup" instance=ExtResource( 8 )] +position = Vector2( 260, -400 ) + +[node name="GhostBlock5" parent="GhostGroup" instance=ExtResource( 8 )] +position = Vector2( 260, -440 ) + +[node name="GhostBlock6" parent="GhostGroup" instance=ExtResource( 8 )] +position = Vector2( 300, -440 ) + +[node name="GhostBlock7" parent="GhostGroup" instance=ExtResource( 8 )] +position = Vector2( 300, -400 ) + +[node name="GhostBlock8" parent="GhostGroup" instance=ExtResource( 8 )] +position = Vector2( 300, -360 ) + +[node name="GhostGroup2" parent="." instance=ExtResource( 9 )] +position = Vector2( 680, 420 ) + +[node name="GhostBlock" parent="GhostGroup2" instance=ExtResource( 8 )] +position = Vector2( -20, 0 ) + +[node name="GhostBlock2" parent="GhostGroup2" instance=ExtResource( 8 )] +position = Vector2( 20, 0 ) + +[node name="CrossLoop4" parent="." instance=ExtResource( 4 )] +position = Vector2( 1080, 220 ) +[connection signal="clicked" from="GameButtonChain/GameButton6" to="GhostGroup" method="deactivate"] diff --git a/Objects/Main.tscn b/Objects/Main.tscn index cf90ca2..e1f5c73 100644 --- a/Objects/Main.tscn +++ b/Objects/Main.tscn @@ -1,19 +1,29 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=26 format=2] [ext_resource path="res://Objects/SpecialObjects/Player.tscn" type="PackedScene" id=1] [ext_resource path="res://Objects/SpecialObjects/Conductor.tscn" type="PackedScene" id=2] [ext_resource path="res://Objects/ConveyorBelt/ConveyorBelt.tscn" type="PackedScene" id=3] [ext_resource path="res://Objects/SpecialObjects/SingleScreenWalls.tscn" type="PackedScene" id=4] [ext_resource path="res://Objects/SpecialObjects/Wrapper.tscn" type="PackedScene" id=5] -[ext_resource path="res://Objects/Levels/BuzzsawChoice.tscn" type="PackedScene" id=6] +[ext_resource path="res://Objects/ScrollingObjects/CrossLoop.tscn" type="PackedScene" id=6] [ext_resource path="res://Objects/ScrollingObjects/WinDoor.tscn" type="PackedScene" id=7] [ext_resource path="res://Objects/SpecialObjects/UI/LoopCountPanel.tscn" type="PackedScene" id=8] [ext_resource path="res://Objects/SpecialObjects/UI/LoopCountPanel.gd" type="Script" id=9] [ext_resource path="res://Objects/SpecialObjects/Clock.tscn" type="PackedScene" id=10] [ext_resource path="res://Objects/Laser.tscn" type="PackedScene" id=11] [ext_resource path="res://Objects/Levels/Intro.tscn" type="PackedScene" id=12] +[ext_resource path="res://Objects/ScrollingObjects/Background.tscn" type="PackedScene" id=13] +[ext_resource path="res://Objects/Levels/Lasers.tscn" type="PackedScene" id=14] [ext_resource path="res://Objects/Levels/Toggles.tscn" type="PackedScene" id=15] -[ext_resource path="res://Objects/ScrollingObjects/Press.tscn" type="PackedScene" id=16] +[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostBlock.tscn" type="PackedScene" id=16] +[ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostGroup.tscn" type="PackedScene" id=17] +[ext_resource path="res://Objects/ScrollingObjects/Buzzsaw.tscn" type="PackedScene" id=18] +[ext_resource path="res://Sprites/button_right.png" type="Texture" id=19] +[ext_resource path="res://Objects/ScrollingObjects/Loop.tscn" type="PackedScene" id=20] +[ext_resource path="res://Objects/ScrollingObjects/Utilities/ScrollingPipesTileMap.tscn" type="PackedScene" id=21] +[ext_resource path="res://Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.tscn" type="PackedScene" id=22] +[ext_resource path="res://Objects/ScrollingObjects/ScrollingPipe.tscn" type="PackedScene" id=23] +[ext_resource path="res://Objects/Levels/Tower.tscn" type="PackedScene" id=24] [sub_resource type="StyleBoxFlat" id=1] bg_color = Color( 0, 0, 0, 0.294118 ) @@ -53,11 +63,222 @@ position = Vector2( 140, 660 ) [node name="Toggles" parent="." instance=ExtResource( 15 )] position = Vector2( 2420, 0 ) -[node name="Press" parent="." instance=ExtResource( 16 )] -position = Vector2( 2900, 0 ) +[node name="BuzzsawChoice" type="Node2D" parent="."] +position = Vector2( 2560, 0 ) +__meta__ = { +"_edit_lock_": true +} -[node name="BuzzsawChoice" parent="." instance=ExtResource( 6 )] -position = Vector2( 3480, 0 ) +[node name="Buzzsaw4" parent="BuzzsawChoice" instance=ExtResource( 18 )] +position = Vector2( 480, 600 ) + +[node name="Buzzsaw" parent="BuzzsawChoice" instance=ExtResource( 18 )] +position = Vector2( 600, 600 ) + +[node name="Buzzsaw2" parent="BuzzsawChoice" instance=ExtResource( 18 )] +position = Vector2( 720, 600 ) + +[node name="Buzzsaw3" parent="BuzzsawChoice" instance=ExtResource( 18 )] +position = Vector2( 840, 600 ) + +[node name="ScrollingPipe3" parent="BuzzsawChoice" instance=ExtResource( 23 )] +position = Vector2( 1280, 0 ) + +[node name="TileMap" parent="BuzzsawChoice/ScrollingPipe3" instance=ExtResource( 21 )] +tile_data = PoolIntArray( 65513, 0, 65536, 65527, 0, 65536, 131049, 0, 65536, 196585, 0, 65536, 262121, 0, 65536, 327657, 0, 131072, 327658, 0, 65537, 327659, 0, 65537, 327660, 0, 65537, 327661, 0, 65537, 327662, 0, 65537, 327663, 0, 65537, 327664, 0, 65537, 327665, 0, 65537, 327666, 0, 65537, 327667, 0, 65537, 327668, 0, 65537, 327669, 0, 65537, 327670, 0, 65537, 327671, 0, 131073, 851945, 0, 0, 851959, 0, 1, 917481, 0, 65536, 917495, 0, 65536, 983015, 0, 0, 983016, 0, 65537, 983017, 0, 65536, 983031, 0, 65536, 983032, 0, 65537, 983033, 0, 1, 1048551, 0, 65536, 1048553, 0, 65536, 1048567, 0, 65536, 1048569, 0, 65536, 1114087, 0, 65536, 1114089, 0, 65536, 1114103, 0, 65536, 1114105, 0, 65536 ) + +[node name="GhostGroup" parent="BuzzsawChoice" instance=ExtResource( 17 )] +position = Vector2( 420, 500 ) + +[node name="GhostBlock" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +is_active = false + +[node name="GhostBlock2" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 40, 0 ) +is_active = false + +[node name="GhostBlock3" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 80, 0 ) +is_active = false + +[node name="GhostBlock4" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 120, 0 ) +is_active = false + +[node name="GhostBlock5" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 160, 0 ) +is_active = false + +[node name="GhostBlock6" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 200, 0 ) +is_active = false + +[node name="GhostBlock7" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 240, 0 ) +is_active = false + +[node name="GhostBlock8" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 280, 0 ) +is_active = false + +[node name="GhostBlock9" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 320, 0 ) +is_active = false + +[node name="GhostBlock10" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 360, 0 ) +is_active = false + +[node name="GhostBlock11" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 400, 0 ) +is_active = false + +[node name="GhostBlock12" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 440, 0 ) +is_active = false + +[node name="GhostBlock13" parent="BuzzsawChoice/GhostGroup" instance=ExtResource( 16 )] +position = Vector2( 480, 0 ) +is_active = false + +[node name="GhostGroup2" parent="BuzzsawChoice" instance=ExtResource( 17 )] + +[node name="GhostBlock" parent="BuzzsawChoice/GhostGroup2" instance=ExtResource( 16 )] +position = Vector2( 980, 460 ) +is_active = false + +[node name="GhostBlock2" parent="BuzzsawChoice/GhostGroup2" instance=ExtResource( 16 )] +position = Vector2( 1020, 420 ) +is_active = false + +[node name="GhostBlock3" parent="BuzzsawChoice/GhostGroup2" instance=ExtResource( 16 )] +position = Vector2( 1060, 380 ) +is_active = false + +[node name="GhostBlock4" parent="BuzzsawChoice/GhostGroup2" instance=ExtResource( 16 )] +position = Vector2( 1100, 340 ) +is_active = false + +[node name="GhostBlock5" parent="BuzzsawChoice/GhostGroup2" instance=ExtResource( 16 )] +position = Vector2( 1140, 300 ) +is_active = false + +[node name="GhostBlock6" parent="BuzzsawChoice/GhostGroup2" instance=ExtResource( 16 )] +position = Vector2( 1180, 260 ) +is_active = false + +[node name="GhostBlock7" parent="BuzzsawChoice/GhostGroup2" instance=ExtResource( 16 )] +position = Vector2( 1220, 220 ) +is_active = false + +[node name="GhostBlock8" parent="BuzzsawChoice/GhostGroup2" instance=ExtResource( 16 )] +position = Vector2( 1260, 180 ) +is_active = false + +[node name="CBSpeedChangeButton" parent="BuzzsawChoice" instance=ExtResource( 22 )] +position = Vector2( 340, 620 ) +color = Color( 0.7, 1, 0.7, 1 ) +icon = ExtResource( 19 ) +change = 20.0 + +[node name="Background" parent="BuzzsawChoice" instance=ExtResource( 13 )] + +[node name="CrossLoop" parent="BuzzsawChoice" instance=ExtResource( 6 )] +position = Vector2( 440, 120 ) + +[node name="CrossLoop2" parent="BuzzsawChoice" instance=ExtResource( 6 )] +position = Vector2( 660, 120 ) + +[node name="CrossLoop3" parent="BuzzsawChoice" instance=ExtResource( 6 )] +position = Vector2( 880, 120 ) + +[node name="LongJump" type="Node2D" parent="."] +position = Vector2( 3840, 0 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="Background" parent="LongJump" instance=ExtResource( 13 )] + +[node name="Buzzsaw" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 120, 600 ) + +[node name="Buzzsaw2" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 240, 600 ) + +[node name="Buzzsaw3" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 360, 600 ) + +[node name="Buzzsaw4" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 480, 600 ) + +[node name="Buzzsaw5" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 600, 600 ) + +[node name="Buzzsaw6" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 720, 600 ) + +[node name="Buzzsaw7" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 840, 600 ) + +[node name="Buzzsaw8" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 960, 600 ) + +[node name="Buzzsaw9" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 1080, 600 ) + +[node name="Buzzsaw10" parent="LongJump" instance=ExtResource( 18 )] +position = Vector2( 1200, 600 ) + +[node name="ScrollingPipe" parent="LongJump" instance=ExtResource( 23 )] +position = Vector2( 1280, 0 ) + +[node name="TileMap" parent="LongJump/ScrollingPipe" instance=ExtResource( 21 )] +tile_data = PoolIntArray( 327648, 0, 65537, 327649, 0, 65537, 327650, 0, 65537, 327651, 0, 65537, 327652, 0, 65537, 327653, 0, 65537, 327654, 0, 65537, 327655, 0, 65537, 327656, 0, 65537, 327657, 0, 65537, 327658, 0, 65537, 327659, 0, 65537, 327660, 0, 65537, 327661, 0, 65537, 327662, 0, 65537, 327663, 0, 65537, 327664, 0, 65537, 327665, 0, 65537, 327666, 0, 65537, 327667, 0, 65537, 327668, 0, 65537, 327669, 0, 65537, 327670, 0, 65537, 327671, 0, 65537, 327672, 0, 65537, 327673, 0, 65537, 327674, 0, 65537, 327675, 0, 65537, 327676, 0, 65537, 327677, 0, 65537, 327678, 0, 65537, 327679, 0, 65537, 917472, 0, 65536, 917503, 0, 65536, 983008, 0, 65536, 983038, 0, 0, 983039, 0, 131073, 1048544, 0, 65536, 1048574, 0, 131072, 1048575, 0, 1, 1114080, 0, 65536, 1114111, 0, 65536 ) + +[node name="GhostGroup" parent="LongJump" instance=ExtResource( 17 )] + +[node name="CBSpeedChangeButton" parent="LongJump/GhostGroup" instance=ExtResource( 22 )] +position = Vector2( 1260, 500 ) +change = -300.0 + +[node name="CBSpeedChangeButton2" parent="LongJump/GhostGroup" instance=ExtResource( 22 )] +position = Vector2( 1220, 500 ) +change = -300.0 + +[node name="CBSpeedChangeButton3" parent="LongJump/GhostGroup" instance=ExtResource( 22 )] +position = Vector2( 1180, 500 ) +change = -300.0 + +[node name="GhostGroup2" parent="LongJump" instance=ExtResource( 17 )] +position = Vector2( -1160, 0 ) + +[node name="CBSpeedChangeButton" parent="LongJump/GhostGroup2" instance=ExtResource( 22 )] +position = Vector2( 1260, 500 ) +color = Color( 0, 1, 0.376471, 1 ) +icon = ExtResource( 19 ) +change = 300.0 + +[node name="CBSpeedChangeButton2" parent="LongJump/GhostGroup2" instance=ExtResource( 22 )] +position = Vector2( 1220, 500 ) +color = Color( 0, 1, 0.376471, 1 ) +icon = ExtResource( 19 ) +change = 300.0 + +[node name="CBSpeedChangeButton3" parent="LongJump/GhostGroup2" instance=ExtResource( 22 )] +position = Vector2( 1180, 500 ) +color = Color( 0, 1, 0.376471, 1 ) +icon = ExtResource( 19 ) +change = 300.0 + +[node name="Loop6" parent="LongJump" instance=ExtResource( 20 )] +position = Vector2( 1180, 460 ) + +[node name="Loop9" parent="LongJump" instance=ExtResource( 20 )] +position = Vector2( 100, 460 ) + +[node name="CrossLoop2" parent="LongJump" instance=ExtResource( 6 )] +position = Vector2( 660, 280 ) [node name="WinDoor" parent="." instance=ExtResource( 7 )] position = Vector2( 740, 680 ) @@ -67,5 +288,45 @@ margin_left = 120.0 margin_right = 220.0 custom_styles/panel = SubResource( 1 ) script = ExtResource( 9 ) + +[node name="Tower" parent="." instance=ExtResource( 24 )] +position = Vector2( 7700, 0 ) + +[node name="Lasers" parent="." instance=ExtResource( 14 )] +position = Vector2( 5120, 0 ) + +[node name="Loop" parent="." instance=ExtResource( 20 )] +position = Vector2( 3980, 140 ) + +[node name="Loop2" parent="." instance=ExtResource( 20 )] +position = Vector2( 4180, 140 ) + +[node name="Loop3" parent="." instance=ExtResource( 20 )] +position = Vector2( 4380, 140 ) + +[node name="Loop4" parent="." instance=ExtResource( 20 )] +position = Vector2( 4580, 140 ) + +[node name="Loop5" parent="." instance=ExtResource( 20 )] +position = Vector2( 4780, 140 ) + +[node name="Loop6" parent="." instance=ExtResource( 20 )] +position = Vector2( 4980, 140 ) [connection signal="loop_collected" from="Player" to="LoopCountPanel" method="_on_Player_loop_collected"] +[connection signal="clicked" from="BuzzsawChoice/CBSpeedChangeButton" to="BuzzsawChoice/GhostGroup" method="toggle"] +[connection signal="clicked" from="LongJump/GhostGroup/CBSpeedChangeButton" to="LongJump/GhostGroup" method="deactivate"] +[connection signal="clicked" from="LongJump/GhostGroup/CBSpeedChangeButton" to="LongJump/GhostGroup/CBSpeedChangeButton" method="_on_GameButton_clicked"] +[connection signal="clicked" from="LongJump/GhostGroup/CBSpeedChangeButton2" to="LongJump/GhostGroup" method="deactivate"] +[connection signal="clicked" from="LongJump/GhostGroup/CBSpeedChangeButton2" to="LongJump/GhostGroup/CBSpeedChangeButton2" method="_on_GameButton_clicked"] +[connection signal="clicked" from="LongJump/GhostGroup/CBSpeedChangeButton3" to="LongJump/GhostGroup" method="deactivate"] +[connection signal="clicked" from="LongJump/GhostGroup/CBSpeedChangeButton3" to="LongJump/GhostGroup/CBSpeedChangeButton3" method="_on_GameButton_clicked"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton" to="BuzzsawChoice/GhostGroup2" method="activate"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton" to="LongJump/GhostGroup2" method="deactivate"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton" to="LongJump/GhostGroup2/CBSpeedChangeButton" method="_on_GameButton_clicked"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton2" to="BuzzsawChoice/GhostGroup2" method="activate"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton2" to="LongJump/GhostGroup2" method="deactivate"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton2" to="LongJump/GhostGroup2/CBSpeedChangeButton2" method="_on_GameButton_clicked"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton3" to="BuzzsawChoice/GhostGroup2" method="activate"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton3" to="LongJump/GhostGroup2" method="deactivate"] +[connection signal="clicked" from="LongJump/GhostGroup2/CBSpeedChangeButton3" to="LongJump/GhostGroup2/CBSpeedChangeButton3" method="_on_GameButton_clicked"] [connection signal="body_entered" from="WinDoor" to="Player" method="_on_WinDoor_body_entered"] diff --git a/Objects/Menu.tscn b/Objects/Menu.tscn index 53bd4c8..593146f 100644 --- a/Objects/Menu.tscn +++ b/Objects/Menu.tscn @@ -26,37 +26,36 @@ __meta__ = { [node name="CenterContainer" type="CenterContainer" parent="."] margin_right = 1280.0 -margin_bottom = 160.0 +margin_bottom = 120.0 __meta__ = { "_edit_use_anchors_": false } [node name="Label" type="Label" parent="CenterContainer"] -margin_left = 374.0 +margin_left = 535.0 margin_top = 41.0 -margin_right = 906.0 -margin_bottom = 118.0 +margin_right = 744.0 +margin_bottom = 78.0 custom_fonts/font = SubResource( 1 ) -text = "(titolo wip) -Brøther, can you give me the" +text = "Looping for" align = 1 valign = 1 [node name="CenterContainer2" type="CenterContainer" parent="."] -margin_top = 160.0 +margin_top = 120.0 margin_right = 1280.0 -margin_bottom = 480.0 +margin_bottom = 440.0 __meta__ = { "_edit_use_anchors_": false } [node name="Label2" type="Label" parent="CenterContainer2"] -margin_left = 178.0 +margin_left = 255.0 margin_top = 14.0 -margin_right = 1102.0 +margin_right = 1025.0 margin_bottom = 305.0 custom_fonts/font = SubResource( 2 ) -text = "LÖÖPS?" +text = "LÖÖPS" align = 1 valign = 1 @@ -72,9 +71,9 @@ __meta__ = { } [node name="TextureRect" type="TextureRect" parent="."] -margin_left = 40.0 +margin_left = 1080.0 margin_top = 520.0 -margin_right = 200.0 +margin_right = 1240.0 margin_bottom = 680.0 texture = ExtResource( 3 ) __meta__ = { diff --git a/Objects/ScrollingObjects/Background.tscn b/Objects/ScrollingObjects/Background.tscn new file mode 100644 index 0000000..139dbc6 --- /dev/null +++ b/Objects/ScrollingObjects/Background.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Objects/ScrollingObjects/Utilities/ConveyorScrollParent.tscn" type="PackedScene" id=1] +[ext_resource path="res://Objects/ScrollingObjects/Utilities/WrapParent.tscn" type="PackedScene" id=2] +[ext_resource path="res://Sprites/wall-boxes.png" type="Texture" id=5] + +[node name="Background" type="Sprite"] +modulate = Color( 0.298039, 0.298039, 0.298039, 1 ) +position = Vector2( 640, 360 ) +z_index = -1000 +texture = ExtResource( 5 ) + +[node name="ConveyorScrollParent" parent="." instance=ExtResource( 1 )] + +[node name="WrapParent" parent="." instance=ExtResource( 2 )] +position = Vector2( 640, -360 ) diff --git a/Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.gd b/Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.gd index c6e3202..f6d64e7 100644 --- a/Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.gd +++ b/Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.gd @@ -9,6 +9,5 @@ func _ready(): conveyor_belt = get_tree().current_scene.get_node("ConveyorBelt") -func _on_GameButton_clicked(): - ._on_GameButton_clicked() +func _on_CBSpeedChangeButton_clicked(): conveyor_belt.cb_speed += change diff --git a/Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.tscn b/Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.tscn index 344bb97..1156b31 100644 --- a/Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.tscn +++ b/Objects/ScrollingObjects/Buttons/CBSpeedChangeButton.tscn @@ -8,3 +8,4 @@ script = ExtResource( 1 ) color = Color( 0.447059, 0.333333, 1, 1 ) icon = ExtResource( 3 ) +[connection signal="clicked" from="." to="." method="_on_CBSpeedChangeButton_clicked"] diff --git a/Objects/ScrollingObjects/Buttons/GameButton.gd b/Objects/ScrollingObjects/Buttons/GameButton.gd index 42c8728..488ba81 100644 --- a/Objects/ScrollingObjects/Buttons/GameButton.gd +++ b/Objects/ScrollingObjects/Buttons/GameButton.gd @@ -46,8 +46,5 @@ func set_icon(value): func _on_GameButton_input_event(_viewport: Viewport, event: InputEvent, _shape_idx: int): if is_active and event.is_pressed(): + deactivate() emit_signal("clicked") - - -func _on_GameButton_clicked(): - deactivate() diff --git a/Objects/ScrollingObjects/Buttons/GameButton.tscn b/Objects/ScrollingObjects/Buttons/GameButton.tscn index 7f6d9df..8fde517 100644 --- a/Objects/ScrollingObjects/Buttons/GameButton.tscn +++ b/Objects/ScrollingObjects/Buttons/GameButton.tscn @@ -13,9 +13,9 @@ collision_layer = 8 collision_mask = 2147483648 script = ExtResource( 2 ) -[node name="StaticBody2D" type="StaticBody2D" parent="."] +[node name="KinematicBody2D" type="KinematicBody2D" parent="."] -[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="KinematicBody2D"] shape = SubResource( 1 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] @@ -29,5 +29,4 @@ shape = SubResource( 1 ) texture = ExtResource( 1 ) [node name="Icon" type="Sprite" parent="."] -[connection signal="clicked" from="." to="." method="_on_GameButton_clicked"] [connection signal="input_event" from="." to="." method="_on_GameButton_input_event"] diff --git a/Objects/ScrollingObjects/Buttons/GameButtonChain.gd b/Objects/ScrollingObjects/Buttons/GameButtonChain.gd index 4865c60..1ebde3a 100644 --- a/Objects/ScrollingObjects/Buttons/GameButtonChain.gd +++ b/Objects/ScrollingObjects/Buttons/GameButtonChain.gd @@ -1,4 +1,5 @@ extends Node2D +class_name GameButtonChain func _ready(): diff --git a/Objects/ScrollingObjects/CrossLoop.tscn b/Objects/ScrollingObjects/CrossLoop.tscn new file mode 100644 index 0000000..661b815 --- /dev/null +++ b/Objects/ScrollingObjects/CrossLoop.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Objects/ScrollingObjects/Loop.tscn" type="PackedScene" id=1] + +[node name="CrossLoop" type="Node2D"] + +[node name="Loop" parent="." instance=ExtResource( 1 )] + +[node name="Loop2" parent="." instance=ExtResource( 1 )] +position = Vector2( 20, 20 ) + +[node name="Loop3" parent="." instance=ExtResource( 1 )] +position = Vector2( 20, -20 ) + +[node name="Loop4" parent="." instance=ExtResource( 1 )] +position = Vector2( -20, 20 ) + +[node name="Loop5" parent="." instance=ExtResource( 1 )] +position = Vector2( -20, -20 ) diff --git a/Objects/ScrollingObjects/Ghosts/GhostBlock.gd b/Objects/ScrollingObjects/Ghosts/GhostBlock.gd index c7ad492..762167c 100644 --- a/Objects/ScrollingObjects/Ghosts/GhostBlock.gd +++ b/Objects/ScrollingObjects/Ghosts/GhostBlock.gd @@ -1,22 +1,24 @@ -extends Node2D +extends KinematicBody2D class_name GhostBlock -var active_sprite: Texture = preload("res://Sprites/block_ON.png") -var inactive_sprite: Texture = preload("res://Sprites/block_OFF.png") export(bool) var is_active: bool = true setget set_active func _ready(): - set_active(is_active) + set_active_no_anim(is_active) + + +func set_active_no_anim(value): + $CollisionShape2D.disabled = not value + is_active = value func set_active(value): - is_active = value - $CollisionShape2D.disabled = not value - if value: - $Sprite.texture = active_sprite - else: - $Sprite.texture = inactive_sprite + if not is_active and value: + $AnimationPlayer.play("Appear") + elif is_active and not value: + $AnimationPlayer.play_backwards("Appear") + set_active_no_anim(value) func activate(): diff --git a/Objects/ScrollingObjects/Ghosts/GhostBlock.tscn b/Objects/ScrollingObjects/Ghosts/GhostBlock.tscn index b06c2f0..b73ac9f 100644 --- a/Objects/ScrollingObjects/Ghosts/GhostBlock.tscn +++ b/Objects/ScrollingObjects/Ghosts/GhostBlock.tscn @@ -1,19 +1,42 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://Objects/ScrollingObjects/Ghosts/GhostBlock.gd" type="Script" id=1] [ext_resource path="res://Sprites/block_OFF.png" type="Texture" id=2] [ext_resource path="res://Objects/ScrollingObjects/Utilities/ConveyorScrollParent.tscn" type="PackedScene" id=3] [ext_resource path="res://Objects/ScrollingObjects/Utilities/WrapParent.tscn" type="PackedScene" id=4] +[ext_resource path="res://Sprites/block_ON.png" type="Texture" id=5] + +[sub_resource type="Animation" id=2] +resource_name = "Appear" +tracks/0/type = "value" +tracks/0/path = NodePath("Active:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 20, 20 ) -[node name="GhostBlock" type="StaticBody2D"] +[node name="GhostBlock" type="KinematicBody2D"] script = ExtResource( 1 ) -[node name="Sprite" type="Sprite" parent="."] +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +playback_speed = 3.0 +anims/Appear = SubResource( 2 ) + +[node name="Inactive" type="Sprite" parent="."] texture = ExtResource( 2 ) +[node name="Active" type="Sprite" parent="."] +texture = ExtResource( 5 ) + [node name="CollisionShape2D" type="CollisionShape2D" parent="."] visible = false shape = SubResource( 1 ) diff --git a/Objects/ScrollingObjects/Ghosts/GhostGroup.gd b/Objects/ScrollingObjects/Ghosts/GhostGroup.gd index 0878591..cf09efd 100644 --- a/Objects/ScrollingObjects/Ghosts/GhostGroup.gd +++ b/Objects/ScrollingObjects/Ghosts/GhostGroup.gd @@ -1,4 +1,5 @@ extends Node2D +class_name GhostGroup func set_active(value): diff --git a/Objects/ScrollingObjects/ScrollingLaser.tscn b/Objects/ScrollingObjects/ScrollingLaser.tscn index c79fc12..c2d5fd0 100644 --- a/Objects/ScrollingObjects/ScrollingLaser.tscn +++ b/Objects/ScrollingObjects/ScrollingLaser.tscn @@ -8,7 +8,7 @@ [ext_resource path="res://Objects/ScrollingObjects/Utilities/WrapParent.tscn" type="PackedScene" id=6] [ext_resource path="res://Objects/ScrollingObjects/Utilities/ConveyorScrollParent.tscn" type="PackedScene" id=7] -[node name="Laser" type="Node2D"] +[node name="ScrollingLaser" type="Node2D"] script = ExtResource( 2 ) [node name="Beam" type="Area2D" parent="."] diff --git a/Objects/SpecialObjects/Player.tscn b/Objects/SpecialObjects/Player.tscn index 6bbabd4..af20a26 100644 --- a/Objects/SpecialObjects/Player.tscn +++ b/Objects/SpecialObjects/Player.tscn @@ -5,10 +5,10 @@ [ext_resource path="res://Sprites/Gatto/Body.tres" type="SpriteFrames" id=3] [ext_resource path="res://Sprites/Gatto/Legs.tres" type="SpriteFrames" id=4] -[sub_resource type="RectangleShape2D" id=2] +[sub_resource type="RectangleShape2D" id=1] extents = Vector2( 19, 19 ) -[sub_resource type="RectangleShape2D" id=1] +[sub_resource type="RectangleShape2D" id=2] extents = Vector2( 17, 17 ) [node name="Player" type="KinematicBody2D"] @@ -16,7 +16,7 @@ z_index = 1 collision_layer = 2 collision_mask = 2147483677 script = ExtResource( 2 ) -jump_speed = 493.0 +jump_speed = 496.0 [node name="Body" type="AnimatedSprite" parent="."] frames = ExtResource( 3 ) @@ -36,7 +36,7 @@ animation = "neutral" playing = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource( 2 ) +shape = SubResource( 1 ) [node name="Area2D" type="Area2D" parent="."] input_pickable = false @@ -44,5 +44,5 @@ collision_layer = 2 collision_mask = 29 [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] -shape = SubResource( 1 ) +shape = SubResource( 2 ) [connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"] diff --git a/Sprites/wall-boxes.png.import b/Sprites/wall-boxes.png.import new file mode 100644 index 0000000..f5f2239 --- /dev/null +++ b/Sprites/wall-boxes.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/wall-boxes.png-0e8be5f6633a0190a73377f996660de7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/wall-boxes.png" +dest_files=[ "res://.import/wall-boxes.png-0e8be5f6633a0190a73377f996660de7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/project.godot b/project.godot index 6a1c5a1..ff47763 100644 --- a/project.godot +++ b/project.godot @@ -45,10 +45,25 @@ _global_script_classes=[ { "path": "res://Objects/ScrollingObjects/Buttons/GameButton.gd" }, { "base": "Node2D", +"class": "GameButtonChain", +"language": "GDScript", +"path": "res://Objects/ScrollingObjects/Buttons/GameButtonChain.gd" +}, { +"base": "KinematicBody2D", "class": "GhostBlock", "language": "GDScript", "path": "res://Objects/ScrollingObjects/Ghosts/GhostBlock.gd" }, { +"base": "Node2D", +"class": "GhostGroup", +"language": "GDScript", +"path": "res://Objects/ScrollingObjects/Ghosts/GhostGroup.gd" +}, { +"base": "Node2D", +"class": "Laser", +"language": "GDScript", +"path": "res://Objects/Laser.gd" +}, { "base": "Area2D", "class": "Loop", "language": "GDScript", @@ -102,7 +117,10 @@ _global_script_class_icons={ "ConveyorBelt": "", "ConveyorScrollParent": "", "GameButton": "", +"GameButtonChain": "", "GhostBlock": "", +"GhostGroup": "", +"Laser": "", "Loop": "", "LoopCountPanel": "", "Menu": "", @@ -120,6 +138,10 @@ config/name="Looping for Lööps" run/main_scene="res://Objects/Menu.tscn" config/icon="res://Sprites/clock.png" +[debug] + +settings/stdout/print_fps=true + [display] window/size/width=1280 @@ -147,6 +169,16 @@ plr_right={ , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) ] } +cheat_faster={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777250,"unicode":0,"echo":false,"script":null) + ] +} +cheat_slower={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777249,"unicode":0,"echo":false,"script":null) + ] +} [layer_names]