Camera Overhaul (preliminary)
This commit is contained in:
parent
35b525dff9
commit
9b3676fe2c
@ -69,6 +69,7 @@ window=false
|
||||
grav=false
|
||||
layer=false
|
||||
viewport=true
|
||||
physics=false
|
||||
|
||||
[importer_defaults]
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=114 format=2]
|
||||
[gd_scene load_steps=115 format=2]
|
||||
|
||||
[ext_resource path="res://assets/blobby/blobby-effects-spritesheet.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/Actors/Blobby/BlobbyStateMachine.gd" type="Script" id=3]
|
||||
@ -254,6 +254,8 @@ priority = 0
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id=137]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id=189]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id=47]
|
||||
states/duckTurn/node = SubResource( 126 )
|
||||
states/duckTurn/position = Vector2( 1795.54, 241 )
|
||||
@ -266,7 +268,7 @@ states/idleTurn/position = Vector2( 1375.54, -193.991 )
|
||||
states/idling/node = SubResource( 116 )
|
||||
states/idling/position = Vector2( 1375.54, -54 )
|
||||
states/jumpToFall/node = SubResource( 119 )
|
||||
states/jumpToFall/position = Vector2( 1795.54, 343.009 )
|
||||
states/jumpToFall/position = Vector2( 1795.54, 306.009 )
|
||||
states/jumping/node = SubResource( 125 )
|
||||
states/jumping/position = Vector2( 1375.54, 117.009 )
|
||||
states/runToJump/node = SubResource( 146 )
|
||||
@ -281,9 +283,9 @@ states/wallslideToJump/node = SubResource( 136 )
|
||||
states/wallslideToJump/position = Vector2( 1375.54, 343.009 )
|
||||
states/wallsliding/node = SubResource( 96 )
|
||||
states/wallsliding/position = Vector2( 1795.54, 493.009 )
|
||||
transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "idling", "jumping", SubResource( 147 ), "runToJump", "jumping", SubResource( 148 ), "ducking", "jumping", SubResource( 149 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "ducking", SubResource( 161 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "falling", "walking", SubResource( 165 ), "falling", "idling", SubResource( 166 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "running", "turnToRun", SubResource( 171 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ) ]
|
||||
transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "idling", "jumping", SubResource( 147 ), "runToJump", "jumping", SubResource( 148 ), "ducking", "jumping", SubResource( 149 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "ducking", SubResource( 161 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "falling", "walking", SubResource( 165 ), "falling", "idling", SubResource( 166 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "running", "turnToRun", SubResource( 171 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ), "jumping", "wallsliding", SubResource( 189 ) ]
|
||||
start_node = "idling"
|
||||
graph_offset = Vector2( 1098.54, -360.991 )
|
||||
graph_offset = Vector2( 995.54, 69.009 )
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=48]
|
||||
|
||||
|
||||
@ -2,15 +2,29 @@ extends Camera2D
|
||||
|
||||
var horizontal_facing = 0
|
||||
var vertical_facing = 0
|
||||
var camera_horizontal_shift = 90
|
||||
var camera_vertical_shift = 0
|
||||
var time: float = 0
|
||||
var move_time: float = 0
|
||||
var slow_time: float = 0
|
||||
var original_limit_left: int
|
||||
var original_limit_right: int
|
||||
var original_limit_bottom: int
|
||||
var original_limit_top: int
|
||||
var camera_is_panning: bool = false
|
||||
var target_offset: Vector2 = Vector2(0,0)
|
||||
|
||||
onready var tween = $ShiftTween
|
||||
export var camera_horizontal_shift = 80
|
||||
export var offset_reset_seconds := 1
|
||||
export var offset_adapt_seconds := 0.8
|
||||
|
||||
onready var tween = $OffsetTween
|
||||
onready var shiftLeft = $CameraAnimationPlayer.get_animation("shiftingLeft")
|
||||
onready var shiftRight = $CameraAnimationPlayer.get_animation("shiftingRight")
|
||||
onready var shiftCenter = $CameraAnimationPlayer.get_animation("shiftingCenter")
|
||||
onready var anim_player = $CameraAnimationPlayer
|
||||
onready var original_x_zoom = zoom.x
|
||||
onready var original_y_zoom = zoom.y
|
||||
onready var blobby = get_node("%Blobby")
|
||||
onready var prev_camera_pos
|
||||
onready var screen_rect = Vector2(ProjectSettings.get_setting("display/window/size/width") * zoom.x, ProjectSettings.get_setting("display/window/size/height") * zoom.y )
|
||||
|
||||
var image = Image.new()
|
||||
var texture = ImageTexture.new()
|
||||
@ -19,17 +33,25 @@ var texture = ImageTexture.new()
|
||||
# Requires "TileMap" to be a sibling of blobby
|
||||
func _ready():
|
||||
_set_boundaries()
|
||||
print(screen_rect)
|
||||
self.position = blobby.global_position
|
||||
prev_camera_pos = get_camera_screen_center()
|
||||
offset.x = -camera_horizontal_shift if zoom.x == original_x_zoom else 0
|
||||
image.create(128, 2, false, Image.FORMAT_RGBAH)
|
||||
_update_lighting_shader()
|
||||
# TODO Trigger when needed
|
||||
get_node("LightAnimationPlayer").play("Pulsing")
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if(!GlobalState.is_dead):
|
||||
time += delta
|
||||
_adapt_to_movement()
|
||||
#print(get_camera_screen_center().x - blobby.global_position.x)
|
||||
var player_vel = blobby.velocity
|
||||
if(abs(player_vel.x) >= blobby.max_velocity["walk"]):
|
||||
move_time += delta
|
||||
slow_time = 0
|
||||
else:
|
||||
slow_time += delta
|
||||
move_time = 0
|
||||
|
||||
_adapt_to_movement(player_vel)
|
||||
#TODO Do this via a event or let it be to track blobbies movement better
|
||||
else:
|
||||
self.position = blobby.global_position
|
||||
@ -44,11 +66,14 @@ func _set_boundaries():
|
||||
# New pngs -> completely new tiles and rebuild map
|
||||
var rect = tilemap.get_used_rect()
|
||||
var cell_size = tilemap.cell_size
|
||||
limit_right = rect.end.x * cell_size.x - camera_horizontal_shift
|
||||
limit_left = rect.position.x * cell_size.x + camera_horizontal_shift
|
||||
# TODO: When vertical scrolling is fixed
|
||||
limit_top = rect.position.y * cell_size.y #+ camera_vertical_shift
|
||||
limit_bottom = rect.end.y * cell_size.y #- camera_vertical_shift
|
||||
limit_right = rect.end.x * cell_size.x
|
||||
limit_left = rect.position.x * cell_size.x
|
||||
limit_top = rect.position.y * cell_size.y
|
||||
limit_bottom = rect.end.y * cell_size.y
|
||||
original_limit_left = limit_left
|
||||
original_limit_right = limit_right
|
||||
original_limit_top = limit_top
|
||||
original_limit_bottom = limit_bottom
|
||||
var screen_size = get_viewport_rect()
|
||||
var h_pixels = limit_right - limit_left
|
||||
var v_pixels = limit_bottom - limit_top
|
||||
@ -61,41 +86,52 @@ func _set_boundaries():
|
||||
zoom.x = zoom.y
|
||||
|
||||
# TODO Smoothing the camera limits in godot ruins this still?
|
||||
func _adapt_to_movement():
|
||||
# TODO Adapt this to movement speed
|
||||
var target_offset: Vector2 = Vector2(0,0)
|
||||
var tween_v = false
|
||||
var tween_h = false
|
||||
# TODO Make smarter
|
||||
if(time > 0.1):
|
||||
time = 0.0
|
||||
var cam_offset = get_camera_screen_center() - prev_camera_pos
|
||||
var new_h_facing = sign(cam_offset.x)
|
||||
if new_h_facing != 0 && horizontal_facing != new_h_facing:
|
||||
horizontal_facing = new_h_facing
|
||||
target_offset.x = camera_horizontal_shift * horizontal_facing
|
||||
tween_h = true
|
||||
|
||||
# var new_v_facing = sign(cam_offset.y)
|
||||
# if new_v_facing != 0 && vertical_facing != new_v_facing:
|
||||
# vertical_facing = new_v_facing
|
||||
# target_offset.x = offset.x if !new_h_facing else target_offset.x
|
||||
# target_offset.y = camera_vertical_shift * vertical_facing
|
||||
# tween_v = true
|
||||
|
||||
prev_camera_pos = get_camera_screen_center()
|
||||
if ((tween_h || tween_v )):
|
||||
#TODO Motion may be too complex
|
||||
tween.interpolate_property(
|
||||
self,
|
||||
"offset",
|
||||
offset,
|
||||
target_offset,
|
||||
1.2,
|
||||
Tween.TRANS_SINE,
|
||||
Tween.EASE_OUT
|
||||
)
|
||||
tween.start()
|
||||
func _adapt_to_movement(velocity: Vector2) -> void:
|
||||
var offset_track
|
||||
if(move_time >= offset_adapt_seconds && !anim_player.is_playing()):
|
||||
target_offset.x = camera_horizontal_shift * sign(velocity.x)
|
||||
if(sign(velocity.x) < 0):
|
||||
offset_track = shiftLeft.find_track(".:offset")
|
||||
shiftLeft.track_set_key_value(offset_track, 0, offset)
|
||||
shiftLeft.track_set_key_value(offset_track, 1, target_offset)
|
||||
limit_left = original_limit_left + camera_horizontal_shift
|
||||
anim_player.play("shiftingLeft")
|
||||
else:
|
||||
offset_track = shiftRight.find_track(".:offset")
|
||||
shiftRight.track_set_key_value(offset_track, 0, offset)
|
||||
shiftRight.track_set_key_value(offset_track, 1, target_offset)
|
||||
limit_right = original_limit_right - camera_horizontal_shift
|
||||
anim_player.play("shiftingRight")
|
||||
if(slow_time >= offset_reset_seconds):
|
||||
var center = get_camera_screen_center()
|
||||
var left_edge_pos = center.x - screen_rect.x/2 + camera_horizontal_shift
|
||||
var right_edge_pos = center.x + screen_rect.x/2 - camera_horizontal_shift
|
||||
print("left_edge")
|
||||
print(left_edge_pos)
|
||||
print("limit_left")
|
||||
print(limit_left)
|
||||
print("right_edge")
|
||||
print(right_edge_pos)
|
||||
print("limit_right")
|
||||
print(limit_right)
|
||||
if(left_edge_pos > limit_left && limit_right > right_edge_pos && !anim_player.is_playing()):
|
||||
target_offset.x = 0
|
||||
offset_track = shiftCenter.find_track(".:offset")
|
||||
shiftCenter.track_set_key_value(offset_track, 0, offset)
|
||||
shiftCenter.track_set_key_value(offset_track, 1, target_offset)
|
||||
var limit_left_track = shiftCenter.find_track(".:limit_left")
|
||||
var limit_right_track = shiftCenter.find_track(".:limit_right")
|
||||
var limit_top_track = shiftCenter.find_track(".:limit_top")
|
||||
var limit_bottom_track = shiftCenter.find_track(".:limit_bottom")
|
||||
shiftCenter.track_set_key_value(limit_left_track, 0, limit_left)
|
||||
shiftCenter.track_set_key_value(limit_right_track, 0, limit_right)
|
||||
shiftCenter.track_set_key_value(limit_top_track, 0, limit_top)
|
||||
shiftCenter.track_set_key_value(limit_bottom_track, 0, limit_bottom)
|
||||
shiftCenter.track_set_key_value(limit_left_track, 1, original_limit_left)
|
||||
shiftCenter.track_set_key_value(limit_right_track, 1,original_limit_right)
|
||||
shiftCenter.track_set_key_value(limit_top_track, 1, original_limit_top)
|
||||
shiftCenter.track_set_key_value(limit_bottom_track, 1, original_limit_bottom)
|
||||
anim_player.play("shiftingCenter")
|
||||
position = blobby.position
|
||||
|
||||
func _death_cam():
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=47 format=2]
|
||||
[gd_scene load_steps=50 format=2]
|
||||
|
||||
[ext_resource path="res://src/Actors/BlobbyCam.gd" type="Script" id=1]
|
||||
[ext_resource path="res://assets/environment/background/Asteroids-Near.png" type="Texture" id=2]
|
||||
@ -303,6 +303,102 @@ tracks/9/keys = {
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=11]
|
||||
resource_name = "shiftingCenter"
|
||||
length = 0.6
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath(".:offset")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.6 ),
|
||||
"transitions": PoolRealArray( 1, 1.6 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0, 0 ), Vector2( 0, 0 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath(".:limit_left")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0, 0.6 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ -10000000, -10000000 ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath(".:limit_top")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0, 0.6 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ -10000000, -10000000 ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath(".:limit_right")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0, 0.6 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 10000000, 10000000 ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath(".:limit_bottom")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0, 0.6 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 10000000, 10000000 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=12]
|
||||
resource_name = "shiftingLeft"
|
||||
length = 0.6
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath(".:offset")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.6 ),
|
||||
"transitions": PoolRealArray( 1, 1.6 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0, 0 ), Vector2( 0, 0 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=13]
|
||||
resource_name = "shiftingRight"
|
||||
length = 0.6
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath(".:offset")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.6 ),
|
||||
"transitions": PoolRealArray( 1, 1.6 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0, 0 ), Vector2( 0, 0 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=9]
|
||||
resource_name = "Pulsing"
|
||||
length = 3.33
|
||||
@ -409,18 +505,20 @@ zoom = Vector2( 0.75, 0.75 )
|
||||
process_mode = 0
|
||||
drag_margin_h_enabled = true
|
||||
drag_margin_v_enabled = true
|
||||
drag_margin_left = 0.1
|
||||
drag_margin_left = 0.05
|
||||
drag_margin_top = 0.0
|
||||
drag_margin_right = 0.1
|
||||
drag_margin_bottom = 0.0
|
||||
editor_draw_screen = false
|
||||
drag_margin_right = 0.05
|
||||
editor_draw_drag_margin = true
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="ShiftTween" type="Tween" parent="."]
|
||||
[node name="OffsetTween" type="Tween" parent="."]
|
||||
|
||||
[node name="CameraAnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/RESET = SubResource( 5 )
|
||||
anims/deathCam = SubResource( 6 )
|
||||
anims/shiftingCenter = SubResource( 11 )
|
||||
anims/shiftingLeft = SubResource( 12 )
|
||||
anims/shiftingRight = SubResource( 13 )
|
||||
|
||||
[node name="LightAnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
root_node = NodePath("../ParallaxBackground/ParallaxLayer4")
|
||||
@ -511,10 +609,10 @@ texture = ExtResource( 8 )
|
||||
[node name="AnimatedSprite" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
||||
visible = false
|
||||
frames = SubResource( 7 )
|
||||
frame = 10
|
||||
frame = 6
|
||||
playing = true
|
||||
|
||||
[node name="AnimatedSprite2" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
||||
frames = SubResource( 8 )
|
||||
frame = 1
|
||||
frame = 11
|
||||
playing = true
|
||||
|
||||
@ -23,7 +23,7 @@ func _on_LevelTemplate_ready() -> void:
|
||||
|
||||
# Executes on frog death
|
||||
# The old switchero
|
||||
func _on_WhatAreFrog_child_exiting_tree(node:Node) -> void:
|
||||
func _on_WhatAreFrog_child_exiting_tree(_node:Node) -> void:
|
||||
if(is_first_signal):
|
||||
var anchor = RopeAnchor.instance()
|
||||
anchor.mode = 0
|
||||
|
||||
@ -54,7 +54,7 @@ cast_to = Vector2( 0, -13 )
|
||||
collision_mask = 56
|
||||
|
||||
[node name="Orientation" type="RayCast2D" parent="."]
|
||||
cast_to = Vector2( 1, 0 )
|
||||
cast_to = Vector2( -1, 0 )
|
||||
collision_mask = 0
|
||||
collide_with_bodies = false
|
||||
|
||||
|
||||
@ -5,4 +5,3 @@
|
||||
[node name="Rope" type="Node2D"]
|
||||
z_index = -1
|
||||
script = ExtResource( 1 )
|
||||
rope_tightness = 0.5
|
||||
|
||||
@ -29,9 +29,6 @@ wait_time = 20.0
|
||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||
frame = 1
|
||||
|
||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||
frame = 11
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 2 )]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2( -70, -1.90735e-06 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=15 format=2]
|
||||
[gd_scene load_steps=13 format=2]
|
||||
|
||||
[ext_resource path="res://src/Utilities/GameplaySignalManager.gd" type="Script" id=1]
|
||||
[ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=2]
|
||||
@ -11,8 +11,6 @@
|
||||
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=9]
|
||||
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=10]
|
||||
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=11]
|
||||
[ext_resource path="res://src/Actors/Enemies/Beings/BoundFrog.tscn" type="PackedScene" id=12]
|
||||
[ext_resource path="res://src/ObstacleObjects/Spikes.tscn" type="PackedScene" id=13]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
|
||||
|
||||
@ -34,10 +32,7 @@ cell_size = Vector2( 24, 24 )
|
||||
collision_layer = 8
|
||||
collision_mask = 8
|
||||
format = 1
|
||||
tile_data = PoolIntArray( 131099, -1073741822, 0, 262139, -1610612734, 0, 196635, -1073741822, 0, 327675, -1610612734, 0, 262171, -1073741822, 0, 393211, -1610612734, 0, 327707, -1073741822, 0, 458747, -1610612734, 0, 393243, -1073741822, 0, 524283, -1610612734, 0, 458779, -1073741822, 0, 589819, -1610612734, 0, 524315, -1073741822, 0, 655355, -1610612734, 0, 589851, -1073741822, 0, 720891, -1610612734, 0, 655387, -1073741822, 0, 786427, -1610612734, 0, 720923, -1073741822, 0, 851963, -1610612734, 0, 786459, -1073741822, 0, 917499, -1610612734, 0, 851995, -1073741822, 0, 983036, 2, 0, 983037, 2, 0, 983038, 2, 0, 983039, 2, 0, 917504, 2, 0, 917505, 2, 0, 917506, 2, 0, 917507, 2, 0, 917508, 2, 0, 917509, 2, 0, 917510, 2, 0, 917511, 2, 0, 917512, 2, 0, 917513, 2, 0, 917514, 2, 0, 917515, 2, 0, 917516, 2, 0, 917517, 2, 0, 917518, 2, 0, 917519, 2, 0, 917520, 2, 0, 917521, 2, 0, 917522, 2, 0, 917523, 2, 0, 917524, 2, 0, 917525, 2, 0, 917526, 2, 0, 917527, 2, 0, 917528, 2, 0, 917529, 2, 0, 917530, 2, 0 )
|
||||
|
||||
[node name="Spikes" parent="." instance=ExtResource( 13 )]
|
||||
position = Vector2( 252, 323 )
|
||||
tile_data = PoolIntArray( 65531, -1610612734, 0, 51, -1073741822, 0, 131067, -1610612734, 0, 65587, -1073741822, 0, 196603, -1610612734, 0, 131123, -1073741822, 0, 262139, -1610612734, 0, 196659, -1073741822, 0, 327675, -1610612734, 0, 262195, -1073741822, 0, 393211, -1610612734, 0, 327731, -1073741822, 0, 458747, -1610612734, 0, 393267, -1073741822, 0, 524283, -1610612734, 0, 458803, -1073741822, 0, 589819, -1610612734, 0, 524339, -1073741822, 0, 655355, -1610612734, 0, 589875, -1073741822, 0, 720891, -1610612734, 0, 655411, -1073741822, 0, 786427, -1610612734, 0, 720947, -1073741822, 0, 851963, -1610612734, 0, 786483, -1073741822, 0, 917499, -1610612734, 0, 852019, -1073741822, 0, 983036, 2, 0, 983037, 2, 0, 983038, 2, 0, 983039, 2, 0, 917504, 2, 0, 917505, 2, 0, 917506, 2, 0, 917507, 2, 0, 917508, 2, 0, 917509, 2, 0, 917510, 2, 0, 917511, 2, 0, 917512, 2, 0, 917513, 2, 0, 917514, 2, 0, 917515, 2, 0, 917516, 2, 0, 917517, 2, 0, 917518, 2, 0, 917519, 2, 0, 917520, 2, 0, 917521, 2, 0, 917522, 2, 0, 917523, 2, 0, 917524, 2, 0, 917525, 2, 0, 917526, 2, 0, 917527, 2, 0, 917528, 2, 0, 917529, 2, 0, 917530, 2, 0, 917531, 2, 0, 917532, 2, 0, 917533, 2, 0, 917534, 2, 0, 917535, 2, 0, 917536, 2, 0, 917537, 2, 0, 917538, 2, 0, 917539, 2, 0, 917540, 2, 0, 917541, 2, 0, 917542, 2, 0, 917543, 2, 0, 917544, 2, 0, 917545, 2, 0, 917546, 2, 0, 917547, 2, 0, 917548, 2, 0, 917549, 2, 0, 917550, 2, 0, 917551, 2, 0, 917552, 2, 0, 917553, 2, 0, 917554, 2, 0 )
|
||||
|
||||
[node name="BlobbyCam" parent="." instance=ExtResource( 11 )]
|
||||
|
||||
@ -49,9 +44,6 @@ scale = Vector2( 0.878906, 0.936025 )
|
||||
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 4 )
|
||||
|
||||
[node name="BoundFrog" parent="." instance=ExtResource( 12 )]
|
||||
position = Vector2( 200, 323 )
|
||||
|
||||
[node name="Collectibles" type="Node2D" parent="."]
|
||||
visible = false
|
||||
|
||||
@ -114,7 +106,6 @@ next_scene = ExtResource( 6 )
|
||||
[node name="GameplaySignalManager" type="Node2D" parent="."]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[connection signal="ready" from="." to="BoundFrog" method="_on_LevelTemplate_ready"]
|
||||
[connection signal="timeout" from="UserInterface/HUD/HUDOverlay/GetBackTimer/Timer" to="GameplaySignalManager" method="_on_Timer_timeout"]
|
||||
[connection signal="getback_timer_up" from="GameplaySignalManager" to="Blobby" method="_on_GameplaySignalManager_getback_timer_up"]
|
||||
[connection signal="terminal_activated" from="GameplaySignalManager" to="UserInterface/HUD" method="_on_SignalManager_terminal_activated"]
|
||||
@ -122,8 +113,6 @@ script = ExtResource( 1 )
|
||||
[editable path="UserInterface"]
|
||||
[editable path="UserInterface/HUD"]
|
||||
[editable path="Blobby"]
|
||||
[editable path="BoundFrog"]
|
||||
[editable path="BoundFrog/RopeAnchor"]
|
||||
[editable path="TreeWhyButtons"]
|
||||
[editable path="TreeWhyButtons/WhyButton1"]
|
||||
[editable path="TreeWhyButtons/WhyButton2"]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user