Camera Overhaul (preliminary)
This commit is contained in:
parent
35b525dff9
commit
9b3676fe2c
@ -69,6 +69,7 @@ window=false
|
|||||||
grav=false
|
grav=false
|
||||||
layer=false
|
layer=false
|
||||||
viewport=true
|
viewport=true
|
||||||
|
physics=false
|
||||||
|
|
||||||
[importer_defaults]
|
[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://assets/blobby/blobby-effects-spritesheet.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://src/Actors/Blobby/BlobbyStateMachine.gd" type="Script" id=3]
|
[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=137]
|
||||||
|
|
||||||
|
[sub_resource type="AnimationNodeStateMachineTransition" id=189]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachine" id=47]
|
[sub_resource type="AnimationNodeStateMachine" id=47]
|
||||||
states/duckTurn/node = SubResource( 126 )
|
states/duckTurn/node = SubResource( 126 )
|
||||||
states/duckTurn/position = Vector2( 1795.54, 241 )
|
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/node = SubResource( 116 )
|
||||||
states/idling/position = Vector2( 1375.54, -54 )
|
states/idling/position = Vector2( 1375.54, -54 )
|
||||||
states/jumpToFall/node = SubResource( 119 )
|
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/node = SubResource( 125 )
|
||||||
states/jumping/position = Vector2( 1375.54, 117.009 )
|
states/jumping/position = Vector2( 1375.54, 117.009 )
|
||||||
states/runToJump/node = SubResource( 146 )
|
states/runToJump/node = SubResource( 146 )
|
||||||
@ -281,9 +283,9 @@ states/wallslideToJump/node = SubResource( 136 )
|
|||||||
states/wallslideToJump/position = Vector2( 1375.54, 343.009 )
|
states/wallslideToJump/position = Vector2( 1375.54, 343.009 )
|
||||||
states/wallsliding/node = SubResource( 96 )
|
states/wallsliding/node = SubResource( 96 )
|
||||||
states/wallsliding/position = Vector2( 1795.54, 493.009 )
|
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"
|
start_node = "idling"
|
||||||
graph_offset = Vector2( 1098.54, -360.991 )
|
graph_offset = Vector2( 995.54, 69.009 )
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=48]
|
[sub_resource type="AnimationNodeStateMachinePlayback" id=48]
|
||||||
|
|
||||||
|
|||||||
@ -2,15 +2,29 @@ extends Camera2D
|
|||||||
|
|
||||||
var horizontal_facing = 0
|
var horizontal_facing = 0
|
||||||
var vertical_facing = 0
|
var vertical_facing = 0
|
||||||
var camera_horizontal_shift = 90
|
|
||||||
var camera_vertical_shift = 0
|
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_x_zoom = zoom.x
|
||||||
onready var original_y_zoom = zoom.y
|
onready var original_y_zoom = zoom.y
|
||||||
onready var blobby = get_node("%Blobby")
|
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 image = Image.new()
|
||||||
var texture = ImageTexture.new()
|
var texture = ImageTexture.new()
|
||||||
@ -19,17 +33,25 @@ var texture = ImageTexture.new()
|
|||||||
# Requires "TileMap" to be a sibling of blobby
|
# Requires "TileMap" to be a sibling of blobby
|
||||||
func _ready():
|
func _ready():
|
||||||
_set_boundaries()
|
_set_boundaries()
|
||||||
|
print(screen_rect)
|
||||||
self.position = blobby.global_position
|
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)
|
image.create(128, 2, false, Image.FORMAT_RGBAH)
|
||||||
_update_lighting_shader()
|
_update_lighting_shader()
|
||||||
|
# TODO Trigger when needed
|
||||||
get_node("LightAnimationPlayer").play("Pulsing")
|
get_node("LightAnimationPlayer").play("Pulsing")
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
if(!GlobalState.is_dead):
|
if(!GlobalState.is_dead):
|
||||||
time += delta
|
#print(get_camera_screen_center().x - blobby.global_position.x)
|
||||||
_adapt_to_movement()
|
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
|
#TODO Do this via a event or let it be to track blobbies movement better
|
||||||
else:
|
else:
|
||||||
self.position = blobby.global_position
|
self.position = blobby.global_position
|
||||||
@ -44,11 +66,14 @@ func _set_boundaries():
|
|||||||
# New pngs -> completely new tiles and rebuild map
|
# New pngs -> completely new tiles and rebuild map
|
||||||
var rect = tilemap.get_used_rect()
|
var rect = tilemap.get_used_rect()
|
||||||
var cell_size = tilemap.cell_size
|
var cell_size = tilemap.cell_size
|
||||||
limit_right = rect.end.x * cell_size.x - camera_horizontal_shift
|
limit_right = rect.end.x * cell_size.x
|
||||||
limit_left = rect.position.x * cell_size.x + camera_horizontal_shift
|
limit_left = rect.position.x * cell_size.x
|
||||||
# TODO: When vertical scrolling is fixed
|
limit_top = rect.position.y * cell_size.y
|
||||||
limit_top = rect.position.y * cell_size.y #+ camera_vertical_shift
|
limit_bottom = rect.end.y * cell_size.y
|
||||||
limit_bottom = rect.end.y * cell_size.y #- camera_vertical_shift
|
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 screen_size = get_viewport_rect()
|
||||||
var h_pixels = limit_right - limit_left
|
var h_pixels = limit_right - limit_left
|
||||||
var v_pixels = limit_bottom - limit_top
|
var v_pixels = limit_bottom - limit_top
|
||||||
@ -61,41 +86,52 @@ func _set_boundaries():
|
|||||||
zoom.x = zoom.y
|
zoom.x = zoom.y
|
||||||
|
|
||||||
# TODO Smoothing the camera limits in godot ruins this still?
|
# TODO Smoothing the camera limits in godot ruins this still?
|
||||||
func _adapt_to_movement():
|
func _adapt_to_movement(velocity: Vector2) -> void:
|
||||||
# TODO Adapt this to movement speed
|
var offset_track
|
||||||
var target_offset: Vector2 = Vector2(0,0)
|
if(move_time >= offset_adapt_seconds && !anim_player.is_playing()):
|
||||||
var tween_v = false
|
target_offset.x = camera_horizontal_shift * sign(velocity.x)
|
||||||
var tween_h = false
|
if(sign(velocity.x) < 0):
|
||||||
# TODO Make smarter
|
offset_track = shiftLeft.find_track(".:offset")
|
||||||
if(time > 0.1):
|
shiftLeft.track_set_key_value(offset_track, 0, offset)
|
||||||
time = 0.0
|
shiftLeft.track_set_key_value(offset_track, 1, target_offset)
|
||||||
var cam_offset = get_camera_screen_center() - prev_camera_pos
|
limit_left = original_limit_left + camera_horizontal_shift
|
||||||
var new_h_facing = sign(cam_offset.x)
|
anim_player.play("shiftingLeft")
|
||||||
if new_h_facing != 0 && horizontal_facing != new_h_facing:
|
else:
|
||||||
horizontal_facing = new_h_facing
|
offset_track = shiftRight.find_track(".:offset")
|
||||||
target_offset.x = camera_horizontal_shift * horizontal_facing
|
shiftRight.track_set_key_value(offset_track, 0, offset)
|
||||||
tween_h = true
|
shiftRight.track_set_key_value(offset_track, 1, target_offset)
|
||||||
|
limit_right = original_limit_right - camera_horizontal_shift
|
||||||
# var new_v_facing = sign(cam_offset.y)
|
anim_player.play("shiftingRight")
|
||||||
# if new_v_facing != 0 && vertical_facing != new_v_facing:
|
if(slow_time >= offset_reset_seconds):
|
||||||
# vertical_facing = new_v_facing
|
var center = get_camera_screen_center()
|
||||||
# target_offset.x = offset.x if !new_h_facing else target_offset.x
|
var left_edge_pos = center.x - screen_rect.x/2 + camera_horizontal_shift
|
||||||
# target_offset.y = camera_vertical_shift * vertical_facing
|
var right_edge_pos = center.x + screen_rect.x/2 - camera_horizontal_shift
|
||||||
# tween_v = true
|
print("left_edge")
|
||||||
|
print(left_edge_pos)
|
||||||
prev_camera_pos = get_camera_screen_center()
|
print("limit_left")
|
||||||
if ((tween_h || tween_v )):
|
print(limit_left)
|
||||||
#TODO Motion may be too complex
|
print("right_edge")
|
||||||
tween.interpolate_property(
|
print(right_edge_pos)
|
||||||
self,
|
print("limit_right")
|
||||||
"offset",
|
print(limit_right)
|
||||||
offset,
|
if(left_edge_pos > limit_left && limit_right > right_edge_pos && !anim_player.is_playing()):
|
||||||
target_offset,
|
target_offset.x = 0
|
||||||
1.2,
|
offset_track = shiftCenter.find_track(".:offset")
|
||||||
Tween.TRANS_SINE,
|
shiftCenter.track_set_key_value(offset_track, 0, offset)
|
||||||
Tween.EASE_OUT
|
shiftCenter.track_set_key_value(offset_track, 1, target_offset)
|
||||||
)
|
var limit_left_track = shiftCenter.find_track(".:limit_left")
|
||||||
tween.start()
|
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
|
position = blobby.position
|
||||||
|
|
||||||
func _death_cam():
|
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://src/Actors/BlobbyCam.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://assets/environment/background/Asteroids-Near.png" type="Texture" id=2]
|
[ext_resource path="res://assets/environment/background/Asteroids-Near.png" type="Texture" id=2]
|
||||||
@ -303,6 +303,102 @@ tracks/9/keys = {
|
|||||||
"values": [ false ]
|
"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]
|
[sub_resource type="Animation" id=9]
|
||||||
resource_name = "Pulsing"
|
resource_name = "Pulsing"
|
||||||
length = 3.33
|
length = 3.33
|
||||||
@ -409,18 +505,20 @@ zoom = Vector2( 0.75, 0.75 )
|
|||||||
process_mode = 0
|
process_mode = 0
|
||||||
drag_margin_h_enabled = true
|
drag_margin_h_enabled = true
|
||||||
drag_margin_v_enabled = true
|
drag_margin_v_enabled = true
|
||||||
drag_margin_left = 0.1
|
drag_margin_left = 0.05
|
||||||
drag_margin_top = 0.0
|
drag_margin_top = 0.0
|
||||||
drag_margin_right = 0.1
|
drag_margin_right = 0.05
|
||||||
drag_margin_bottom = 0.0
|
editor_draw_drag_margin = true
|
||||||
editor_draw_screen = false
|
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="ShiftTween" type="Tween" parent="."]
|
[node name="OffsetTween" type="Tween" parent="."]
|
||||||
|
|
||||||
[node name="CameraAnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="CameraAnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
anims/RESET = SubResource( 5 )
|
anims/RESET = SubResource( 5 )
|
||||||
anims/deathCam = SubResource( 6 )
|
anims/deathCam = SubResource( 6 )
|
||||||
|
anims/shiftingCenter = SubResource( 11 )
|
||||||
|
anims/shiftingLeft = SubResource( 12 )
|
||||||
|
anims/shiftingRight = SubResource( 13 )
|
||||||
|
|
||||||
[node name="LightAnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="LightAnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
root_node = NodePath("../ParallaxBackground/ParallaxLayer4")
|
root_node = NodePath("../ParallaxBackground/ParallaxLayer4")
|
||||||
@ -511,10 +609,10 @@ texture = ExtResource( 8 )
|
|||||||
[node name="AnimatedSprite" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
[node name="AnimatedSprite" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
||||||
visible = false
|
visible = false
|
||||||
frames = SubResource( 7 )
|
frames = SubResource( 7 )
|
||||||
frame = 10
|
frame = 6
|
||||||
playing = true
|
playing = true
|
||||||
|
|
||||||
[node name="AnimatedSprite2" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
[node name="AnimatedSprite2" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
||||||
frames = SubResource( 8 )
|
frames = SubResource( 8 )
|
||||||
frame = 1
|
frame = 11
|
||||||
playing = true
|
playing = true
|
||||||
|
|||||||
@ -23,7 +23,7 @@ func _on_LevelTemplate_ready() -> void:
|
|||||||
|
|
||||||
# Executes on frog death
|
# Executes on frog death
|
||||||
# The old switchero
|
# 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):
|
if(is_first_signal):
|
||||||
var anchor = RopeAnchor.instance()
|
var anchor = RopeAnchor.instance()
|
||||||
anchor.mode = 0
|
anchor.mode = 0
|
||||||
|
|||||||
@ -54,7 +54,7 @@ cast_to = Vector2( 0, -13 )
|
|||||||
collision_mask = 56
|
collision_mask = 56
|
||||||
|
|
||||||
[node name="Orientation" type="RayCast2D" parent="."]
|
[node name="Orientation" type="RayCast2D" parent="."]
|
||||||
cast_to = Vector2( 1, 0 )
|
cast_to = Vector2( -1, 0 )
|
||||||
collision_mask = 0
|
collision_mask = 0
|
||||||
collide_with_bodies = false
|
collide_with_bodies = false
|
||||||
|
|
||||||
|
|||||||
@ -5,4 +5,3 @@
|
|||||||
[node name="Rope" type="Node2D"]
|
[node name="Rope" type="Node2D"]
|
||||||
z_index = -1
|
z_index = -1
|
||||||
script = ExtResource( 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"]
|
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||||
frame = 1
|
frame = 1
|
||||||
|
|
||||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
|
||||||
frame = 11
|
|
||||||
|
|
||||||
[node name="Blobby" parent="." instance=ExtResource( 2 )]
|
[node name="Blobby" parent="." instance=ExtResource( 2 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2( -70, -1.90735e-06 )
|
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/Utilities/GameplaySignalManager.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=2]
|
[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/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/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/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]
|
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
|
||||||
|
|
||||||
@ -34,10 +32,7 @@ cell_size = Vector2( 24, 24 )
|
|||||||
collision_layer = 8
|
collision_layer = 8
|
||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
format = 1
|
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 )
|
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="Spikes" parent="." instance=ExtResource( 13 )]
|
|
||||||
position = Vector2( 252, 323 )
|
|
||||||
|
|
||||||
[node name="BlobbyCam" parent="." instance=ExtResource( 11 )]
|
[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"]
|
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||||
parameters/playback = SubResource( 4 )
|
parameters/playback = SubResource( 4 )
|
||||||
|
|
||||||
[node name="BoundFrog" parent="." instance=ExtResource( 12 )]
|
|
||||||
position = Vector2( 200, 323 )
|
|
||||||
|
|
||||||
[node name="Collectibles" type="Node2D" parent="."]
|
[node name="Collectibles" type="Node2D" parent="."]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@ -114,7 +106,6 @@ next_scene = ExtResource( 6 )
|
|||||||
[node name="GameplaySignalManager" type="Node2D" parent="."]
|
[node name="GameplaySignalManager" type="Node2D" parent="."]
|
||||||
script = ExtResource( 1 )
|
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="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="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"]
|
[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"]
|
||||||
[editable path="UserInterface/HUD"]
|
[editable path="UserInterface/HUD"]
|
||||||
[editable path="Blobby"]
|
[editable path="Blobby"]
|
||||||
[editable path="BoundFrog"]
|
|
||||||
[editable path="BoundFrog/RopeAnchor"]
|
|
||||||
[editable path="TreeWhyButtons"]
|
[editable path="TreeWhyButtons"]
|
||||||
[editable path="TreeWhyButtons/WhyButton1"]
|
[editable path="TreeWhyButtons/WhyButton1"]
|
||||||
[editable path="TreeWhyButtons/WhyButton2"]
|
[editable path="TreeWhyButtons/WhyButton2"]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user