feat: smaller platforms, platform&mine anims, flyer fix

This commit is contained in:
Jakob Feldmann 2023-08-06 17:19:21 +02:00
parent 8021aa1bf5
commit b6ce9fd29a
33 changed files with 415 additions and 497 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/3xFloatingPlatform.png-a13f2c7c76bd3adae7076cf38d621b7d.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/contraption/3xFloatingPlatform.png"
dest_files=[ "res://.import/3xFloatingPlatform.png-a13f2c7c76bd3adae7076cf38d621b7d.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/5xFloatingPlatform.png-c8154094c5709787badb6bf61c4f7ac3.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/contraption/5xFloatingPlatform.png"
dest_files=[ "res://.import/5xFloatingPlatform.png-c8154094c5709787badb6bf61c4f7ac3.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/SpikyMinePlant.png-5b8b25c9dea7efa9b28164c9e2cb1560.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/obstacle object/SpikyMinePlant.png"
dest_files=[ "res://.import/SpikyMinePlant.png-5b8b25c9dea7efa9b28164c9e2cb1560.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=false
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0

View File

@ -9,7 +9,7 @@ func _on_StompDetector_body_entered(body: Node) -> void:
player_entered_stomp = true
var incoming_vel_vector: Vector2 = body.velocity.normalized()
print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation)))))
if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(90):
if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(95):
print("too shallow entry")
body.die()
player_entered_stomp = false

View File

@ -290,8 +290,9 @@ shape = SubResource( 2 )
scale = Vector2( 0.7, 0.7 )
[node name="Area2D" type="Area2D" parent="DangerousBlockArea" groups=["harmful"]]
collision_layer = 8
collision_mask = 3
collision_layer = 2
collision_mask = 0
monitoring = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="DangerousBlockArea/Area2D"]
position = Vector2( 5.10897e-07, -0.714285 )

View File

@ -42,10 +42,10 @@ unique_name_in_owner = true
process_mode = 1
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 11
frame = 6
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 10
frame = 5
[node name="Blobby" parent="." instance=ExtResource( 7 )]
unique_name_in_owner = true

View File

@ -14,7 +14,7 @@
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/ObstacleObjects/PitArea.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Actors/Enemies/Beings/Caterpillar.tscn" type="PackedScene" id=15]
[ext_resource path="res://src/ObstacleObjects/Mine.tscn" type="PackedScene" id=15]
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
@ -65,10 +65,10 @@ drag_margin_top = 0.1
drag_margin_bottom = 0.1
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 11
frame = 4
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 10
frame = 3
[node name="Blobby" parent="." instance=ExtResource( 8 )]
unique_name_in_owner = true
@ -154,8 +154,9 @@ position = Vector2( 788, 100 )
[node name="Coin" parent="." instance=ExtResource( 14 )]
position = Vector2( 6, 0 )
[node name="Caterpillar" parent="." instance=ExtResource( 15 )]
position = Vector2( -96, 105 )
[node name="Mine" parent="." instance=ExtResource( 15 )]
position = Vector2( -96, 96 )
z_index = -1
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]

View File

@ -16,6 +16,7 @@
[ext_resource path="res://src/Platforms/FlyingPlatform.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Actors/Enemies/Beings/Caterpillar.tscn" type="PackedScene" id=15]
[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=16]
[ext_resource path="res://src/Platforms/FlyingPlatformSmol.tscn" type="PackedScene" id=17]
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
@ -42,23 +43,6 @@
0/shapes = [ ]
0/z_index = 0
[sub_resource type="Animation" id=6]
resource_name = "Path"
length = 6.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 3 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 0, 0 ), Vector2( 0, -64 ) ]
}
[node name="LevelTemplate" type="Node2D"]
script = ExtResource( 11 )
__meta__ = {
@ -80,11 +64,8 @@ wait_time = 20.0
[node name="BlobbyCam" parent="." instance=ExtResource( 9 )]
unique_name_in_owner = true
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 3
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 2
frame = 12
[node name="Blobby" parent="." instance=ExtResource( 10 )]
unique_name_in_owner = true
@ -168,17 +149,9 @@ position = Vector2( 692, 100 )
[node name="FlyingPlatform2" parent="." instance=ExtResource( 14 )]
position = Vector2( -40, -128 )
[node name="anim" parent="FlyingPlatform2" index="0"]
autoplay = "Path"
[node name="FlyingPlatform3" parent="." instance=ExtResource( 14 )]
position = Vector2( 688, -32 )
scale = Vector2( 0.75, 1 )
[node name="anim" parent="FlyingPlatform3" index="0"]
autoplay = "Path"
anims/Path = SubResource( 6 )
x_target = -32
y_target = -48
speed = 16
[node name="Coin" parent="." instance=ExtResource( 16 )]
position = Vector2( 383, -31 )
@ -186,6 +159,10 @@ position = Vector2( 383, -31 )
[node name="Coin2" parent="." instance=ExtResource( 16 )]
position = Vector2( 496, -337 )
[node name="FlyingPlatformSmol" parent="." instance=ExtResource( 17 )]
position = Vector2( 680, -128 )
y_target = 112
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
[editable path="SignalManager"]
@ -195,4 +172,3 @@ position = Vector2( 496, -337 )
[editable path="BlobbyCam"]
[editable path="Blobby"]
[editable path="FlyingPlatform2"]
[editable path="FlyingPlatform3"]

View File

@ -68,10 +68,10 @@ unique_name_in_owner = true
drag_margin_bottom = 0.3
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 0
frame = 9
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 13
frame = 8
[node name="Blobby" parent="." instance=ExtResource( 8 )]
unique_name_in_owner = true

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=42 format=2]
[gd_scene load_steps=19 format=2]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2]
@ -11,204 +11,13 @@
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=9]
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=10]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=11]
[ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=12]
[ext_resource path="res://assets/contraption/floating_platform_test.png" type="Texture" id=13]
[ext_resource path="res://src/Platforms/FlyingPlatformSmol.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/Actors/Enemies/Beings/Flyer.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Actors/Enemies/Beings/Flyer.gd" type="Script" id=15]
[ext_resource path="res://src/StateMachines/FlyerStateMachine.gd" type="Script" id=16]
[ext_resource path="res://assets/meta/new_dynamicfont.tres" type="DynamicFont" id=17]
[ext_resource path="res://assets/enemy/flyer-sheet.png" type="Texture" id=18]
[ext_resource path="res://src/Contraptions/VendingMachine.tscn" type="PackedScene" id=19]
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
[sub_resource type="Animation" id=33]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0 ]
}
[sub_resource type="Animation" id=36]
resource_name = "hunting"
length = 1.62
loop = true
step = 0.01
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ Vector2( -1, 1 ) ]
}
[sub_resource type="Animation" id=38]
resource_name = "huntingLeft"
length = 0.042
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ Vector2( 1, 1 ) ]
}
[sub_resource type="Animation" id=35]
resource_name = "searching"
length = 1.62
loop = true
step = 0.01
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.02 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 1 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ Vector2( -1, 1 ) ]
}
[sub_resource type="Animation" id=34]
resource_name = "searchingLeft"
length = 1.62
loop = true
step = 0.01
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 1 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ Vector2( 1, 1 ) ]
}
[sub_resource type="AnimationNodeAnimation" id=52]
animation = "huntingLeft"
[sub_resource type="AnimationNodeAnimation" id=39]
animation = "hunting"
[sub_resource type="AnimationNodeBlendSpace1D" id=23]
blend_point_0/node = SubResource( 52 )
blend_point_0/pos = -1.0
blend_point_1/node = SubResource( 39 )
blend_point_1/pos = 1.0
min_space = -1.18
max_space = 1.15
[sub_resource type="AnimationNodeAnimation" id=40]
animation = "searchingLeft"
[sub_resource type="AnimationNodeAnimation" id=41]
animation = "searching"
[sub_resource type="AnimationNodeBlendSpace1D" id=9]
blend_point_0/node = SubResource( 40 )
blend_point_0/pos = -1.0
blend_point_1/node = SubResource( 41 )
blend_point_1/pos = 1.0
min_space = -2.0
max_space = 2.0
snap = 1.0
[sub_resource type="AnimationNodeStateMachineTransition" id=27]
[sub_resource type="AnimationNodeStateMachineTransition" id=32]
[sub_resource type="AnimationNodeStateMachine" id=50]
states/hunting/node = SubResource( 23 )
states/hunting/position = Vector2( 184.952, -12 )
states/searching/node = SubResource( 9 )
states/searching/position = Vector2( -52.0952, 102.762 )
transitions = [ "searching", "hunting", SubResource( 27 ), "hunting", "searching", SubResource( 32 ) ]
start_node = "searching"
graph_offset = Vector2( -333, -104 )
[sub_resource type="AnimationNodeStateMachinePlayback" id=51]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 10, 7.5 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 15, 5.12039 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 18.2143, 14.3338 )
[sub_resource type="TileSet" id=5]
0/name = "platform-plants.png 0"
0/texture = ExtResource( 3 )
@ -232,37 +41,7 @@ extents = Vector2( 18.2143, 14.3338 )
0/shapes = [ ]
0/z_index = 0
[sub_resource type="Animation" id=6]
resource_name = "Path"
length = 8.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 4 ),
"transitions": PoolRealArray( 1, 0.965936 ),
"update": 0,
"values": [ Vector2( 0, 0 ), Vector2( 0, 72 ) ]
}
[sub_resource type="Animation" id=7]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 0, 0 ) ]
}
[sub_resource type="AnimationNodeStateMachinePlayback" id=6]
[node name="LevelTemplate" type="Node2D"]
script = ExtResource( 4 )
@ -287,10 +66,10 @@ unique_name_in_owner = true
drag_margin_bottom = 0.3
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 6
frame = 4
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 5
frame = 3
[node name="Blobby" parent="." instance=ExtResource( 9 )]
unique_name_in_owner = true
@ -300,130 +79,6 @@ scale = Vector2( 0.878906, 0.936025 )
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 4 )
[node name="Flyer" type="KinematicBody2D" parent="." groups=["frogfood", "harmful"]]
position = Vector2( 144, 27 )
collision_layer = 258
collision_mask = 25
script = ExtResource( 15 )
vision_distance = 10.0
loose_target_seconds = 5.0
patrolling = true
acceleration = 70
max_speed = 80
weight = 0.3
[node name="Statemachine" type="Node2D" parent="Flyer"]
script = ExtResource( 16 )
[node name="StateLabel" type="Label" parent="Flyer"]
visible = false
show_behind_parent = true
margin_left = -36.0
margin_top = -30.0
margin_right = 37.0
margin_bottom = -16.0
custom_colors/font_color = Color( 1, 1, 1, 1 )
custom_colors/font_outline_modulate = Color( 0, 0, 0, 1 )
custom_fonts/font = ExtResource( 17 )
text = "Ihre Werbung"
align = 1
valign = 1
[node name="FlyerSprite" type="Sprite" parent="Flyer"]
scale = Vector2( -1, 1 )
texture = ExtResource( 18 )
hframes = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="Flyer/FlyerSprite"]
anims/RESET = SubResource( 33 )
anims/hunting = SubResource( 36 )
anims/huntingLeft = SubResource( 38 )
anims/searching = SubResource( 35 )
anims/searchingLeft = SubResource( 34 )
[node name="AnimationTree" type="AnimationTree" parent="Flyer/FlyerSprite"]
tree_root = SubResource( 50 )
anim_player = NodePath("../AnimationPlayer")
active = true
root_motion_track = NodePath(".")
parameters/playback = SubResource( 51 )
parameters/hunting/blend_position = -1.04288
parameters/searching/blend_position = 1.2903
[node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="Flyer"]
visible = false
position = Vector2( 954, 0 )
scale = Vector2( 10.84, 0.899 )
rect = Rect2( -89, -10, 2, 20 )
process_parent = true
physics_process_parent = true
[node name="FeelerRayCast" type="RayCast2D" parent="Flyer"]
visible = false
enabled = true
cast_to = Vector2( 0, -1 )
collision_mask = 56
collide_with_areas = true
[node name="EnemyBody" type="CollisionShape2D" parent="Flyer" groups=["harmful"]]
position = Vector2( 0, -0.5 )
shape = SubResource( 1 )
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="Flyer"]
path_desired_distance = 8.0
target_desired_distance = 8.0
[node name="cshape" type="Node2D" parent="Flyer"]
visible = false
position = Vector2( 0, -3.8147e-06 )
scale = Vector2( 0.1, 0.1 )
[node name="pjoint" type="PinJoint2D" parent="Flyer/cshape"]
scale = Vector2( 0.3, 0.3 )
bias = 0.108
softness = 0.1
[node name="StompDetector" type="Area2D" parent="Flyer" groups=["weakpoint"]]
visible = false
modulate = Color( 0, 0.0392157, 1, 1 )
position = Vector2( 0, -1.90735e-06 )
scale = Vector2( 0.7, 0.7 )
collision_layer = 2
input_pickable = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="Flyer/StompDetector"]
position = Vector2( -4.76837e-07, 1.56134 )
shape = SubResource( 2 )
[node name="EnemySkin" type="Area2D" parent="Flyer"]
process_priority = -1
visible = false
scale = Vector2( 0.7, 0.7 )
collision_layer = 2
collision_mask = 126
[node name="CollisionPolygon2D" type="CollisionShape2D" parent="Flyer/EnemySkin"]
shape = SubResource( 3 )
[node name="PatrolPath" type="Node2D" parent="Flyer"]
[node name="Position2D2" type="Position2D" parent="Flyer/PatrolPath"]
position = Vector2( 0, -36 )
[node name="Position2D3" type="Position2D" parent="Flyer/PatrolPath"]
position = Vector2( 0, 8 )
[node name="Orientation" type="RayCast2D" parent="Flyer"]
cast_to = Vector2( -1, 0 )
collision_mask = 0
collide_with_bodies = false
[node name="VisionRayCast" type="RayCast2D" parent="Flyer"]
enabled = true
cast_to = Vector2( 0, -1 )
collision_mask = 9
collide_with_areas = true
[node name="VendingMachine" parent="." instance=ExtResource( 19 )]
position = Vector2( 48, 100 )
@ -458,37 +113,31 @@ position = Vector2( 0, 56 )
scale = Vector2( 0.5, 0.5 )
next_scene = "res://src/Levels/6 Tutorial Level.tscn"
[node name="FlyingPlatform4" type="Node2D" parent="."]
position = Vector2( 248, 0 )
script = ExtResource( 12 )
[node name="anim" type="AnimationPlayer" parent="FlyingPlatform4"]
autoplay = "Path"
playback_process_mode = 0
anims/Path = SubResource( 6 )
anims/RESET = SubResource( 7 )
[node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform4"]
collision_layer = 8
collision_mask = 0
[node name="Sprite" type="Sprite" parent="FlyingPlatform4/KinematicBody2D"]
position = Vector2( 0, 8 )
texture = ExtResource( 13 )
vframes = 8
frame = 1
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform4/KinematicBody2D"]
position = Vector2( 0, 4 )
scale = Vector2( 4, 0.4 )
polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 )
[node name="FlyingPlatformSmol" parent="." instance=ExtResource( 12 )]
position = Vector2( 256, 0 )
y_target = 80
speed = 24
[node name="Coin3" parent="." instance=ExtResource( 14 )]
position = Vector2( 144, 30 )
z_index = -1
[node name="Flyer" parent="." instance=ExtResource( 13 )]
position = Vector2( 144, 9 )
acceleration = 100
patrolling_slowdown = 0.2
max_speed = 100
[node name="AnimationTree" parent="Flyer/FlyerSprite" index="1"]
parameters/playback = SubResource( 6 )
[node name="Position2D2" parent="Flyer/PatrolPath" index="0"]
position = Vector2( 0, 23 )
[node name="Position2D3" parent="Flyer/PatrolPath" index="1"]
position = Vector2( 0, -25 )
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
[connection signal="body_entered" from="Flyer/StompDetector" to="Flyer" method="_on_StompDetector_body_entered"]
[editable path="SignalManager"]
[editable path="LevelState"]
@ -496,3 +145,4 @@ z_index = -1
[editable path="UserInterface/HUD"]
[editable path="BlobbyCam"]
[editable path="Blobby"]
[editable path="Flyer"]

View File

@ -6,12 +6,12 @@
[ext_resource path="res://src/Actors/Enemies/Beings/Flyer.tscn" type="PackedScene" id=4]
[ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=5]
[ext_resource path="res://src/Contraptions/GateBlock.tscn" type="PackedScene" id=6]
[ext_resource path="res://src/Platforms/DropThroughPlatform.tscn" type="PackedScene" id=7]
[ext_resource path="res://src/Platforms/legacy/DropThroughPlatform.tscn" type="PackedScene" id=7]
[ext_resource path="res://src/Contraptions/Triggers/FrogFreeButton.tscn" type="PackedScene" id=8]
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=9]
[ext_resource path="res://src/Actors/Enemies/Beings/BoundFrog.tscn" type="PackedScene" id=10]
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=11]
[ext_resource path="res://src/Platforms/Spring.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/Platforms/Spring/Spring.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=15]
@ -44,10 +44,10 @@ wait_time = 20.0
unique_name_in_owner = true
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 6
frame = 4
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 10
frame = 8
[node name="Blobby" parent="." instance=ExtResource( 15 )]
unique_name_in_owner = true

View File

@ -15,7 +15,7 @@
[ext_resource path="res://src/ObstacleObjects/Spikes.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=15]
[ext_resource path="res://src/Platforms/FlyingLaserCutter.tscn" type="PackedScene" id=16]
[ext_resource path="res://src/Platforms/FlyingPlatformClean.tscn" type="PackedScene" id=17]
[ext_resource path="res://src/Platforms/legacy/FlyingPlatformClean.tscn" type="PackedScene" id=17]
[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=18]
[ext_resource path="res://src/Environment/Grass/ShaderGrass.tscn" type="PackedScene" id=19]
[ext_resource path="res://src/Environment/Legacy/Greenhouse.tscn" type="PackedScene" id=20]

View File

@ -8,10 +8,10 @@
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=6]
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=7]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=8]
[ext_resource path="res://src/Platforms/FlyingPlatformClean.tscn" type="PackedScene" id=10]
[ext_resource path="res://src/Platforms/legacy/FlyingPlatformClean.tscn" type="PackedScene" id=10]
[ext_resource path="res://src/ObstacleObjects/Mine.tscn" type="PackedScene" id=11]
[ext_resource path="res://src/Platforms/FlyingLaserCutter.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/Platforms/DropThroughPlatform.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Platforms/legacy/DropThroughPlatform.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Contraptions/GateBlock.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=15]
[ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=16]

View File

@ -13,7 +13,7 @@
[ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrog.tscn" type="PackedScene" id=11]
[ext_resource path="res://src/BenefitialObjects/SavePoint.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Platforms/DropThroughPlatform.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Platforms/legacy/DropThroughPlatform.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Environment/Legacy/AlienShipTileSet.tres" type="TileSet" id=15]
[ext_resource path="res://src/Levels/Level 2.gd" type="Script" id=16]

View File

@ -6,9 +6,9 @@
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=36]
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=37]
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=38]
[ext_resource path="res://src/Platforms/FlyingPlatformClean.tscn" type="PackedScene" id=40]
[ext_resource path="res://src/Platforms/legacy/FlyingPlatformClean.tscn" type="PackedScene" id=40]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=41]
[ext_resource path="res://src/Platforms/DropThroughPlatform.tscn" type="PackedScene" id=42]
[ext_resource path="res://src/Platforms/legacy/DropThroughPlatform.tscn" type="PackedScene" id=42]
[ext_resource path="res://src/Actors/Enemies/Beings/Flyer.tscn" type="PackedScene" id=45]
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=46]
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=47]

View File

@ -12,8 +12,8 @@
[ext_resource path="res://src/Contraptions/Triggers/FrogFreeButton.tscn" type="PackedScene" id=10]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=11]
[ext_resource path="res://src/Levels/Level 4.gd" type="Script" id=12]
[ext_resource path="res://src/Platforms/SpringPlatform.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Platforms/DropThroughPlatform.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Platforms/Spring/SpringPlatform.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Platforms/legacy/DropThroughPlatform.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Contraptions/GateBlock.tscn" type="PackedScene" id=15]
[ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=16]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=54 format=2]
[ext_resource path="res://src/Platforms/SpringPhysics.gd" type="Script" id=1]
[ext_resource path="res://src/Platforms/Spring/SpringPhysics.gd" type="Script" id=1]
[ext_resource path="res://src/Environment/Legacy/AlienShipTileSet.tres" type="TileSet" id=2]
[ext_resource path="res://assets/contraption/SpringHolder/SpringHolder10.png" type="Texture" id=3]
[ext_resource path="res://assets/contraption/SpringHolder/SpringHolder25.png" type="Texture" id=4]
@ -39,9 +39,9 @@
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=37]
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=38]
[ext_resource path="res://src/Actors/Enemies/Beings/BoundFrog.tscn" type="PackedScene" id=39]
[ext_resource path="res://src/Platforms/FlyingPlatformClean.tscn" type="PackedScene" id=40]
[ext_resource path="res://src/Platforms/legacy/FlyingPlatformClean.tscn" type="PackedScene" id=40]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=41]
[ext_resource path="res://src/Platforms/DropThroughPlatform.tscn" type="PackedScene" id=42]
[ext_resource path="res://src/Platforms/legacy/DropThroughPlatform.tscn" type="PackedScene" id=42]
[ext_resource path="res://src/Contraptions/Triggers/FrogFreeButton.tscn" type="PackedScene" id=43]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=44]
[ext_resource path="res://src/Actors/Enemies/Beings/Flyer.tscn" type="PackedScene" id=45]

View File

@ -13,7 +13,7 @@
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Actors/Enemies/Beings/Flyer.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Platforms/SpringPlatform.tscn" type="PackedScene" id=15]
[ext_resource path="res://src/Platforms/Spring/SpringPlatform.tscn" type="PackedScene" id=15]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=16]
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=17]

View File

@ -9,7 +9,7 @@ export var is_locked = true
func _ready() -> void:
$Area2D.remove_from_group("harmful")
$Sprite/AnimationPlayer.play("locked")
$Sprite/AnimationPlayer.play("unarmed")
func _on_Area2D_area_exited(area: Area2D) -> void:
@ -19,4 +19,9 @@ func _on_Area2D_area_exited(area: Area2D) -> void:
func _on_Timer_timeout() -> void:
is_locked = true
$Area2D.add_to_group("harmful")
$Sprite/AnimationPlayer.play("unlocked")
$Sprite/AnimationPlayer.play("arming")
func _on_AnimationPlayer_animation_finished(anim_name: String) -> void:
if(anim_name == "arming"):
$Sprite/AnimationPlayer.play("armed")

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=7 format=2]
[gd_scene load_steps=8 format=2]
[ext_resource path="res://assets/obstacle object/mine.png" type="Texture" id=1]
[ext_resource path="res://assets/obstacle object/SpikyMinePlant.png" type="Texture" id=1]
[ext_resource path="res://src/ObstacleObjects/Mine.gd" type="Script" id=2]
[sub_resource type="Animation" id=2]
@ -30,9 +30,10 @@ tracks/1/keys = {
"values": [ 4.0 ]
}
[sub_resource type="Animation" id=3]
resource_name = "locked"
length = 0.1
[sub_resource type="Animation" id=8]
resource_name = "armed"
length = 1.6
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
@ -40,10 +41,67 @@ tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 22, 23, 24, 25, 26, 27, 28, 29 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("../Area2D/CollisionShape2D:shape:radius")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
"values": [ 7.0 ]
}
[sub_resource type="Animation" id=6]
resource_name = "arming"
length = 1.4
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.802038, 0.902195, 1.00219, 1.10219, 1.20219, 1.3 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("../Area2D/CollisionShape2D:shape:radius")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0.00519588, 0.698901 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ 4.0, 7.0 ]
}
[sub_resource type="Animation" id=3]
resource_name = "unarmed"
length = 0.9
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3, 4, 5, 6, 7, 8 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("../Area2D/CollisionShape2D:shape:radius")
@ -58,34 +116,6 @@ tracks/1/keys = {
"values": [ 4.0 ]
}
[sub_resource type="Animation" id=6]
resource_name = "unlocked"
length = 0.1
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 1 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("../Area2D/CollisionShape2D:shape:radius")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 7.0 ]
}
[sub_resource type="CircleShape2D" id=7]
resource_local_to_scene = true
radius = 4.0
@ -94,14 +124,16 @@ radius = 4.0
script = ExtResource( 2 )
[node name="Sprite" type="Sprite" parent="."]
position = Vector2( 0, -0.5 )
position = Vector2( -0.5, 0 )
texture = ExtResource( 1 )
hframes = 2
hframes = 30
[node name="AnimationPlayer" type="AnimationPlayer" parent="Sprite"]
autoplay = "unarmed"
anims/RESET = SubResource( 2 )
anims/locked = SubResource( 3 )
anims/unlocked = SubResource( 6 )
anims/armed = SubResource( 8 )
anims/arming = SubResource( 6 )
anims/unarmed = SubResource( 3 )
[node name="Area2D" type="Area2D" parent="."]
collision_layer = 64
@ -113,5 +145,6 @@ shape = SubResource( 7 )
wait_time = 0.1
one_shot = true
[connection signal="animation_finished" from="Sprite/AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]
[connection signal="area_exited" from="Area2D" to="." method="_on_Area2D_area_exited"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View File

@ -1,7 +1,56 @@
[gd_scene load_steps=3 format=2]
[gd_scene load_steps=6 format=2]
[ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=1]
[ext_resource path="res://assets/contraption/floating_platform_test.png" type="Texture" id=2]
[ext_resource path="res://assets/contraption/5xFloatingPlatform.png" type="Texture" id=2]
[sub_resource type="Animation" id=1]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0 ]
}
[sub_resource type="Animation" id=2]
resource_name = "v1"
length = 1.1
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13 ]
}
[sub_resource type="Animation" id=3]
resource_name = "v2"
length = 0.6
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 14, 15, 16, 17, 18, 19 ]
}
[node name="FlyingPlatform" type="Node2D"]
script = ExtResource( 1 )
@ -14,8 +63,13 @@ motion/sync_to_physics = true
[node name="Sprite" type="Sprite" parent="PlatformBody"]
position = Vector2( 0, 8 )
texture = ExtResource( 2 )
vframes = 8
frame = 1
hframes = 20
[node name="AnimationPlayer" type="AnimationPlayer" parent="PlatformBody/Sprite"]
autoplay = "v2"
anims/RESET = SubResource( 1 )
anims/v1 = SubResource( 2 )
anims/v2 = SubResource( 3 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="PlatformBody"]
position = Vector2( 0, 4 )

View File

@ -0,0 +1,93 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=1]
[ext_resource path="res://assets/contraption/3xFloatingPlatform.png" type="Texture" id=2]
[sub_resource type="Animation" id=1]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:frame_coords")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 0, 0 ) ]
}
[sub_resource type="Animation" id=2]
resource_name = "v1"
length = 1.1
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
}
[sub_resource type="Animation" id=3]
resource_name = "v2"
length = 0.5
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 11, 12, 13, 14, 15 ]
}
[node name="FlyingPlatformSmol" type="Node2D"]
script = ExtResource( 1 )
[node name="PlatformBody" type="KinematicBody2D" parent="."]
collision_layer = 16
collision_mask = 0
motion/sync_to_physics = true
[node name="Sprite" type="Sprite" parent="PlatformBody"]
position = Vector2( 0, 8 )
texture = ExtResource( 2 )
hframes = 17
[node name="AnimationPlayer" type="AnimationPlayer" parent="PlatformBody/Sprite"]
autoplay = "v2"
anims/RESET = SubResource( 1 )
anims/v1 = SubResource( 2 )
anims/v2 = SubResource( 3 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="PlatformBody"]
position = Vector2( 0, 4 )
scale = Vector2( 4, 0.4 )
polygon = PoolVector2Array( -6, -10, 6, -10, 5.5, 0, 5.25, 5, -5.25, 5, -5.5, 0 )
[node name="FlyTween" type="Tween" parent="."]
[connection signal="tween_completed" from="FlyTween" to="." method="_on_FlyTween_tween_completed"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=35 format=2]
[ext_resource path="res://src/Platforms/SpringPlatform.tscn" type="PackedScene" id=1]
[ext_resource path="res://src/Platforms/Spring/SpringPlatform.tscn" type="PackedScene" id=1]
[ext_resource path="res://assets/contraption/SpringHolder/SpringHolder24.png" type="Texture" id=2]
[ext_resource path="res://assets/contraption/SpringHolder/SpringHolder2.png" type="Texture" id=3]
[ext_resource path="res://assets/contraption/SpringHolder/SpringHolder17.png" type="Texture" id=4]
@ -51,5 +51,5 @@ scale = Vector2( 1.5, 1 )
position = Vector2( 0, 1.5 )
z_index = -1
frames = SubResource( 1 )
frame = 24
frame = 19
playing = true

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://assets/contraption/SpringPlatform.png" type="Texture" id=1]
[ext_resource path="res://src/Platforms/SpringPhysics.gd" type="Script" id=2]
[ext_resource path="res://src/Platforms/Spring/SpringPhysics.gd" type="Script" id=1]
[ext_resource path="res://assets/contraption/SpringPlatform.png" type="Texture" id=2]
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 11.4863, 2.10568 )
@ -13,10 +13,10 @@ extents = Vector2( 11.925, 0.0109166 )
extents = Vector2( 11.9158, 2.06284 )
[node name="SpringPlatform" type="Node2D"]
script = ExtResource( 2 )
script = ExtResource( 1 )
[node name="Platform" type="Sprite" parent="."]
texture = ExtResource( 1 )
texture = ExtResource( 2 )
[node name="SpringSkin" type="Area2D" parent="."]
collision_layer = 32

View File

@ -1,8 +1,8 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-Block.png" type="Texture" id=1]
[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-BlockEnd1.png" type="Texture" id=2]
[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-BlockEnd2.png" type="Texture" id=3]
[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-BlockEnd1.png" type="Texture" id=1]
[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-BlockEnd2.png" type="Texture" id=2]
[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-Block.png" type="Texture" id=3]
[sub_resource type="ConvexPolygonShape2D" id=3]
points = PoolVector2Array( 24, 0, 0, 0, 0, 0, 24, 0 )
@ -15,7 +15,7 @@ points = PoolVector2Array( 0, 0, 5, 0, 0, 0, 0, 0 )
[sub_resource type="TileSet" id=2]
0/name = "DropThrough-Vine-Block.png 0"
0/texture = ExtResource( 1 )
0/texture = ExtResource( 3 )
0/tex_offset = Vector2( 0, 0 )
0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 0, 0, 24, 12 )
@ -36,7 +36,7 @@ points = PoolVector2Array( 0, 0, 5, 0, 0, 0, 0, 0 )
} ]
0/z_index = 0
1/name = "DropThrough-Vine-BlockEnd1.png 1"
1/texture = ExtResource( 2 )
1/texture = ExtResource( 1 )
1/tex_offset = Vector2( 0, 0 )
1/modulate = Color( 1, 1, 1, 1 )
1/region = Rect2( 0, 0, 12, 12 )
@ -57,7 +57,7 @@ points = PoolVector2Array( 0, 0, 5, 0, 0, 0, 0, 0 )
} ]
1/z_index = 0
2/name = "DropThrough-Vine-BlockEnd2.png 2"
2/texture = ExtResource( 3 )
2/texture = ExtResource( 2 )
2/tex_offset = Vector2( 0, 0 )
2/modulate = Color( 1, 1, 1, 1 )
2/region = Rect2( 0, 0, 12, 12 )

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://assets/contraption/FlyingPlatformClean.png" type="Texture" id=1]
[ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=2]
[ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=1]
[ext_resource path="res://assets/contraption/FlyingPlatformClean.png" type="Texture" id=2]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 24, 6 )
@ -24,7 +24,7 @@ tracks/0/keys = {
}
[node name="FlyingPlatformClean" type="Node2D"]
script = ExtResource( 2 )
script = ExtResource( 1 )
[node name="KinematicBody2D" type="KinematicBody2D" parent="."]
collision_layer = 16
@ -32,7 +32,7 @@ collision_mask = 0
motion/sync_to_physics = true
[node name="Sprite" type="Sprite" parent="KinematicBody2D"]
texture = ExtResource( 1 )
texture = ExtResource( 2 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="KinematicBody2D"]
shape = SubResource( 1 )