feat: smaller platforms, platform&mine anims, flyer fix
This commit is contained in:
parent
8021aa1bf5
commit
b6ce9fd29a
BIN
assets/contraption/3xFloatingPlatform.png
Normal file
BIN
assets/contraption/3xFloatingPlatform.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
35
assets/contraption/3xFloatingPlatform.png.import
Normal file
35
assets/contraption/3xFloatingPlatform.png.import
Normal 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
|
||||
BIN
assets/contraption/5xFloatingPlatform.png
Normal file
BIN
assets/contraption/5xFloatingPlatform.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
35
assets/contraption/5xFloatingPlatform.png.import
Normal file
35
assets/contraption/5xFloatingPlatform.png.import
Normal 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.
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
BIN
assets/obstacle object/SpikyMinePlant.png
Normal file
BIN
assets/obstacle object/SpikyMinePlant.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
35
assets/obstacle object/SpikyMinePlant.png.import
Normal file
35
assets/obstacle object/SpikyMinePlant.png.import
Normal 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
|
||||
@ -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
|
||||
|
||||
@ -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 )
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"]
|
||||
|
||||
|
||||
@ -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"]
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"]
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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]
|
||||
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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]
|
||||
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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]
|
||||
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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"]
|
||||
|
||||
@ -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 )
|
||||
|
||||
93
src/Platforms/FlyingPlatformSmol.tscn
Normal file
93
src/Platforms/FlyingPlatformSmol.tscn
Normal 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"]
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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 )
|
||||
@ -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 )
|
||||
Loading…
Reference in New Issue
Block a user