Airstrafe anim fix and wallslide anim direction fix
This commit is contained in:
parent
12c100e56a
commit
6eace8721c
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 960 B After Width: | Height: | Size: 915 B |
@ -1,14 +1,14 @@
|
||||
extends Player
|
||||
const PhysicsFunc = preload("res://src/Utilities/Physic/PhysicsFunc.gd")
|
||||
export var jump_buffer_filled := false
|
||||
onready var wall_touch_direction = 0
|
||||
onready var left_wall_raycasts = $WallRaycasts/LeftWallRaycast
|
||||
onready var right_wall_raycasts = $WallRaycasts/RightWallRaycast
|
||||
onready var player_state_machine = $BlobbyStateMachine
|
||||
onready var init_boost = player_state_machine.init_boost
|
||||
onready var init_boost_type = player_state_machine.init_boost_type
|
||||
onready var animation_player = $BlobbySprite/BlobbymationPlayer
|
||||
onready var effect_player = $BlobbyActionEffects/AnimationPlayer
|
||||
|
||||
var wall_touch_direction = 1
|
||||
|
||||
# When the Enemy stomp AREA enters the enemy collision area -> stomp
|
||||
func _on_BlobbySkin_area_entered(area: Area2D) -> void:
|
||||
@ -55,7 +55,7 @@ func calculate_duck_velocity(
|
||||
if velocity.x < 0:
|
||||
velocity_direction = -1.0
|
||||
|
||||
# TODO This is essential for the duck/sliding mechanic
|
||||
# TODO Improve this to separate crawling(slow) and sliding
|
||||
var deceleration_force = calculate_deceleration_force(_gravity, mass)*0.333
|
||||
|
||||
# Slowing down movement when not controlling direction
|
||||
@ -188,14 +188,14 @@ func is_reversing_horizontal_movement(direction: Vector2) -> bool:
|
||||
# Also sets wall_touch_direction
|
||||
func is_touching_wall_completely() -> bool:
|
||||
for left_raycast in left_wall_raycasts.get_children():
|
||||
wall_touch_direction = -1
|
||||
if !left_raycast.is_colliding():
|
||||
for right_raycast in right_wall_raycasts.get_children():
|
||||
wall_touch_direction = 1
|
||||
if !right_raycast.is_colliding():
|
||||
wall_touch_direction = 0
|
||||
return false
|
||||
return true
|
||||
if left_raycast.is_colliding():
|
||||
wall_touch_direction = -1
|
||||
return true
|
||||
for right_raycast in right_wall_raycasts.get_children():
|
||||
if right_raycast.is_colliding():
|
||||
wall_touch_direction = 1
|
||||
return true
|
||||
return false
|
||||
|
||||
|
||||
# Attached to wall state is in the PlayerStateMachine
|
||||
@ -309,6 +309,12 @@ func execute_airstrafe(
|
||||
linear_velocity: Vector2, delta: float, direction: Vector2
|
||||
) -> Vector2:
|
||||
# var rev = 1 if !is_reversing_horizontal_movement(direction) else -1
|
||||
# TODO Consider adding a extra state for airstrafing
|
||||
# TODO Make airstrafing less instantaneous and moderate the impulse
|
||||
if direction.x > 0:
|
||||
effect_player.play("airstrafing")
|
||||
else:
|
||||
effect_player.play("airstrafingLeft")
|
||||
if is_reversing_horizontal_movement(direction):
|
||||
linear_velocity.x = 0
|
||||
linear_velocity.x = PhysicsFunc.two_step_euler(
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=109 format=2]
|
||||
[gd_scene load_steps=112 format=2]
|
||||
|
||||
[ext_resource path="res://assets/blobby/blobby-effects-spritesheet.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/Actors/Blobby/BlobbyCam.gd" type="Script" id=2]
|
||||
@ -102,6 +102,9 @@ blend_point_0/node = SubResource( 120 )
|
||||
blend_point_0/pos = -1.0
|
||||
blend_point_1/node = SubResource( 121 )
|
||||
blend_point_1/pos = 1.0
|
||||
min_space = -1.3
|
||||
max_space = 1.3
|
||||
snap = 0.5
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=128]
|
||||
animation = "turnToRunLeft"
|
||||
@ -135,9 +138,9 @@ animation = "wallslideToJumpRight"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendSpace1D" id=136]
|
||||
blend_point_0/node = SubResource( 134 )
|
||||
blend_point_0/pos = 1.0
|
||||
blend_point_0/pos = -1.0
|
||||
blend_point_1/node = SubResource( 135 )
|
||||
blend_point_1/pos = -1.0
|
||||
blend_point_1/pos = 1.0
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=179]
|
||||
animation = "wallsliding"
|
||||
@ -275,12 +278,12 @@ states/turnToRun/position = Vector2( 1795.54, -308.991 )
|
||||
states/walking/node = SubResource( 133 )
|
||||
states/walking/position = Vector2( 1795.54, -54 )
|
||||
states/wallslideToJump/node = SubResource( 136 )
|
||||
states/wallslideToJump/position = Vector2( 1568.54, 459.009 )
|
||||
states/wallslideToJump/position = Vector2( 1566.54, 380.009 )
|
||||
states/wallsliding/node = SubResource( 96 )
|
||||
states/wallsliding/position = Vector2( 1766.54, 606.009 )
|
||||
states/wallsliding/position = Vector2( 1788.54, 501.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 ) ]
|
||||
start_node = "idling"
|
||||
graph_offset = Vector2( 1076.54, -268.991 )
|
||||
graph_offset = Vector2( 1038.54, -170.991 )
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=48]
|
||||
|
||||
@ -458,7 +461,7 @@ tracks/13/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/path = NodePath("../BlobbyEffectsSprite:frame")
|
||||
tracks/14/path = NodePath("../BlobbyStateEffects:frame")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/imported = false
|
||||
@ -470,7 +473,7 @@ tracks/14/keys = {
|
||||
"values": [ 8 ]
|
||||
}
|
||||
tracks/15/type = "value"
|
||||
tracks/15/path = NodePath("../BlobbyEffectsSprite:position")
|
||||
tracks/15/path = NodePath("../BlobbyStateEffects:position")
|
||||
tracks/15/interp = 1
|
||||
tracks/15/loop_wrap = true
|
||||
tracks/15/imported = false
|
||||
@ -482,7 +485,7 @@ tracks/15/keys = {
|
||||
"values": [ Vector2( 3.07106, -16.064 ) ]
|
||||
}
|
||||
tracks/16/type = "value"
|
||||
tracks/16/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/16/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/16/interp = 1
|
||||
tracks/16/loop_wrap = true
|
||||
tracks/16/imported = false
|
||||
@ -494,7 +497,7 @@ tracks/16/keys = {
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/17/type = "value"
|
||||
tracks/17/path = NodePath("../BlobbyEffectsSprite:scale")
|
||||
tracks/17/path = NodePath("../BlobbyStateEffects:scale")
|
||||
tracks/17/interp = 1
|
||||
tracks/17/loop_wrap = true
|
||||
tracks/17/imported = false
|
||||
@ -506,7 +509,7 @@ tracks/17/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/18/type = "value"
|
||||
tracks/18/path = NodePath("../BlobbyEffectsSprite:offset")
|
||||
tracks/18/path = NodePath("../BlobbyStateEffects:offset")
|
||||
tracks/18/interp = 1
|
||||
tracks/18/loop_wrap = true
|
||||
tracks/18/imported = false
|
||||
@ -766,7 +769,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -914,7 +917,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -1063,7 +1066,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -1211,7 +1214,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -1360,7 +1363,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -1508,7 +1511,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -1656,7 +1659,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -1805,7 +1808,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -1953,7 +1956,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -2102,7 +2105,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -2250,7 +2253,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -2399,7 +2402,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -2547,7 +2550,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -2696,7 +2699,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -2710,7 +2713,7 @@ tracks/11/keys = {
|
||||
|
||||
[sub_resource type="Animation" id=49]
|
||||
resource_name = "running"
|
||||
length = 0.35
|
||||
length = 0.3
|
||||
loop = true
|
||||
step = 0.05
|
||||
tracks/0/type = "value"
|
||||
@ -2722,7 +2725,7 @@ tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"update": 1,
|
||||
"values": [ 14.0, 15.0, 16, 17.0, 18.0, 19.0, 20.0 ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
@ -2846,7 +2849,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:frame")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:frame")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -2858,7 +2861,7 @@ tracks/11/keys = {
|
||||
"values": [ 6, 9, 9, 9, 5, 6, 7 ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/12/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/imported = false
|
||||
@ -2870,7 +2873,7 @@ tracks/12/keys = {
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/path = NodePath("../BlobbyEffectsSprite:scale")
|
||||
tracks/13/path = NodePath("../BlobbyStateEffects:scale")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/imported = false
|
||||
@ -2878,11 +2881,11 @@ tracks/13/enabled = true
|
||||
tracks/13/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/path = NodePath("../BlobbyEffectsSprite:offset")
|
||||
tracks/14/path = NodePath("../BlobbyStateEffects:offset")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/imported = false
|
||||
@ -2896,7 +2899,7 @@ tracks/14/keys = {
|
||||
|
||||
[sub_resource type="Animation" id=102]
|
||||
resource_name = "runningLeft"
|
||||
length = 0.35
|
||||
length = 0.3
|
||||
loop = true
|
||||
step = 0.05
|
||||
tracks/0/type = "value"
|
||||
@ -3032,7 +3035,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:frame")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:frame")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -3044,7 +3047,7 @@ tracks/11/keys = {
|
||||
"values": [ 6, 9, 9, 9, 5, 6, 7 ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/12/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/imported = false
|
||||
@ -3056,7 +3059,7 @@ tracks/12/keys = {
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/path = NodePath("../BlobbyEffectsSprite:scale")
|
||||
tracks/13/path = NodePath("../BlobbyStateEffects:scale")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/imported = false
|
||||
@ -3064,11 +3067,11 @@ tracks/13/enabled = true
|
||||
tracks/13/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/path = NodePath("../BlobbyEffectsSprite:offset")
|
||||
tracks/14/path = NodePath("../BlobbyStateEffects:offset")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/imported = false
|
||||
@ -3216,7 +3219,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -3365,7 +3368,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -3513,7 +3516,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -3662,7 +3665,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -3810,7 +3813,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -3959,7 +3962,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -4107,7 +4110,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -4256,7 +4259,7 @@ tracks/10/keys = {
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("../BlobbyEffectsSprite:visible")
|
||||
tracks/11/path = NodePath("../BlobbyStateEffects:visible")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
@ -4268,6 +4271,127 @@ tracks/11/keys = {
|
||||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=181]
|
||||
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": [ 9 ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath(".:offset")
|
||||
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, 8 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath(".:scale")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=182]
|
||||
resource_name = "airstrafing"
|
||||
length = 0.15
|
||||
step = 0.025
|
||||
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.025, 0.05, 0.075, 0.15, 0.4 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 0, 1, 2, 3, 9, 4 ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath(".:offset")
|
||||
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, 8 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath(".:scale")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=183]
|
||||
resource_name = "airstrafingLeft"
|
||||
length = 0.15
|
||||
step = 0.025
|
||||
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.025, 0.05, 0.1, 0.15, 0.4 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 0, 1, 2, 3, 9, 4 ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath(".:offset")
|
||||
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( 5, 8 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath(".:scale")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -1, 1 ) ]
|
||||
}
|
||||
|
||||
[node name="Blobby" type="KinematicBody2D" groups=["player"]]
|
||||
collision_mask = 120
|
||||
collision/safe_margin = 0.001
|
||||
@ -4282,14 +4406,6 @@ position = Vector2( 0.0286326, -10.0053 )
|
||||
scale = Vector2( 1.03, 1.04 )
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="BlobbyEffectsSprite" type="Sprite" parent="."]
|
||||
position = Vector2( 3.07106, -16.064 )
|
||||
scale = Vector2( -1, 1 )
|
||||
texture = ExtResource( 1 )
|
||||
offset = Vector2( 4, 0 )
|
||||
hframes = 10
|
||||
frame = 8
|
||||
|
||||
[node name="BlobbySprite" type="Sprite" parent="."]
|
||||
position = Vector2( 0, -16 )
|
||||
scale = Vector2( -1, 1 )
|
||||
@ -4305,6 +4421,7 @@ __meta__ = {
|
||||
[node name="AnimationTree" type="AnimationTree" parent="BlobbySprite"]
|
||||
tree_root = SubResource( 47 )
|
||||
anim_player = NodePath("../BlobbymationPlayer")
|
||||
active = true
|
||||
root_motion_track = NodePath(".")
|
||||
parameters/playback = SubResource( 48 )
|
||||
parameters/ducking/blend_position = 1.0
|
||||
@ -4316,7 +4433,7 @@ parameters/runToJump/blend_position = 1.0
|
||||
parameters/running/blend_position = 1.0
|
||||
parameters/turnToRun/blend_position = 1.0
|
||||
parameters/walking/blend_position = 1.0
|
||||
parameters/wallslideToJump/blend_position = 1.0
|
||||
parameters/wallslideToJump/blend_position = -0.994131
|
||||
parameters/wallsliding/blend_position = 1.0
|
||||
|
||||
[node name="BlobbymationPlayer" type="AnimationPlayer" parent="BlobbySprite"]
|
||||
@ -4348,6 +4465,27 @@ anims/wallslideToJumpRight = SubResource( 101 )
|
||||
anims/wallsliding = SubResource( 74 )
|
||||
anims/wallslidingRight = SubResource( 97 )
|
||||
|
||||
[node name="BlobbyActionEffects" type="Sprite" parent="."]
|
||||
position = Vector2( 3.07106, -16.064 )
|
||||
scale = Vector2( -1, 1 )
|
||||
texture = ExtResource( 1 )
|
||||
offset = Vector2( 0, 8 )
|
||||
hframes = 10
|
||||
frame = 9
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="BlobbyActionEffects"]
|
||||
anims/RESET = SubResource( 181 )
|
||||
anims/airstrafing = SubResource( 182 )
|
||||
anims/airstrafingLeft = SubResource( 183 )
|
||||
|
||||
[node name="BlobbyStateEffects" type="Sprite" parent="."]
|
||||
position = Vector2( 3.07106, -16.064 )
|
||||
scale = Vector2( -1, 1 )
|
||||
texture = ExtResource( 1 )
|
||||
offset = Vector2( 4, 0 )
|
||||
hframes = 10
|
||||
frame = 8
|
||||
|
||||
[node name="BlobbyBody" type="CollisionShape2D" parent="." groups=["player"]]
|
||||
position = Vector2( 0.0392303, -10.002 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
@ -62,15 +62,18 @@ func _state_logic(delta):
|
||||
var direction = get_horizontal_direction()
|
||||
didTurn = false
|
||||
|
||||
|
||||
#TODO use blendspace value 0 for turn animations instead of this?
|
||||
# Can you make the blendspace animation play out till end?
|
||||
if direction.x < 0 && facing == 1:
|
||||
didTurn = true
|
||||
facing = -1
|
||||
elif direction.x >= 0 && facing == -1:
|
||||
elif direction.x > 0 && facing == -1:
|
||||
didTurn = true
|
||||
facing = 1
|
||||
|
||||
|
||||
#TODO Yeah... deal with it
|
||||
anim_tree.set("parameters/wallslideToJump/blend_position", parent.wall_touch_direction)
|
||||
anim_tree.set("parameters/wallsliding/blend_position", parent.wall_touch_direction)
|
||||
if didTurn:
|
||||
_set_blendspaces_direction(facing)
|
||||
_trigger_turn_animation()
|
||||
@ -224,8 +227,6 @@ func _set_blendspaces_direction(value):
|
||||
anim_tree.set("parameters/running/blend_position", value)
|
||||
anim_tree.set("parameters/turnToRun/blend_position", value)
|
||||
anim_tree.set("parameters/walking/blend_position", value)
|
||||
anim_tree.set("parameters/wallslideToJump/blend_position", value)
|
||||
anim_tree.set("parameters/wallsliding/blend_position", value)
|
||||
|
||||
func _trigger_turn_animation():
|
||||
match self.state:
|
||||
|
||||
@ -49,6 +49,7 @@ scale = Vector2( 0.878906, 0.936025 )
|
||||
parameters/playback = SubResource( 4 )
|
||||
|
||||
[node name="FlyingLaserCutter" parent="." instance=ExtResource( 4 )]
|
||||
visible = false
|
||||
position = Vector2( 80, 80 )
|
||||
rotation = 1.5708
|
||||
|
||||
@ -61,6 +62,6 @@ collision_use_kinematic = true
|
||||
collision_layer = 8
|
||||
collision_mask = 8
|
||||
format = 1
|
||||
tile_data = PoolIntArray( 0, 0, 0, 1, 0, 0, 2, 0, 0, 3, 0, 0, 4, 0, 0, 65536, 0, 0, 65540, 0, 0, 131072, 0, 0, 131076, 0, 0, 196608, 0, 0, 196612, 0, 0, 262144, 0, 0, 262148, 0, 0, 327680, 0, 0, 327684, 0, 0, 393216, 0, 0, 393220, 0, 0, 458752, 0, 0, 458756, 0, 0, 524288, 0, 0, 524292, 0, 0, 589824, 0, 0, 589828, 0, 0, 655360, 0, 0, 655364, 0, 0, 720896, 0, 0, 720900, 0, 0, 786432, 0, 0, 786436, 0, 0, 851968, 0, 0, 851972, 0, 0, 917504, 0, 0, 917508, 0, 0, 983040, 0, 0, 983044, 0, 0, 1048576, 0, 0, 1048577, 0, 0, 1048578, 0, 0, 1048579, 0, 0, 1048580, 0, 0 )
|
||||
tile_data = PoolIntArray( 655360, 0, 0, 655361, 0, 0, 655362, 0, 0, 655363, 0, 0, 655364, 0, 0, 655365, 0, 0, 655366, 0, 0, 655367, 0, 0, 655368, 0, 0, 655369, 0, 0, 655370, 0, 0, 655371, 0, 0, 655372, 0, 0, 655373, 0, 0, 655374, 0, 0, 655375, 0, 0, 655376, 0, 0, 655377, 0, 0, 655378, 0, 0, 655379, 0, 0, 655380, 0, 0, 655381, 0, 0, 655382, 0, 0, 655383, 0, 0, 655384, 0, 0, 655385, 0, 0, 655386, 0, 0, 655387, 0, 0, 655388, 0, 0, 720896, 0, 0, 720924, 0, 0, 786432, 0, 0, 786460, 0, 0, 851968, 0, 0, 851996, 0, 0, 917504, 0, 0, 917532, 0, 0, 983040, 0, 0, 983068, 0, 0, 1048576, 0, 0, 1048577, 0, 0, 1048578, 0, 0, 1048579, 0, 0, 1048580, 0, 0, 1048581, 0, 0, 1048582, 0, 0, 1048583, 0, 0, 1048584, 0, 0, 1048585, 0, 0, 1048586, 0, 0, 1048587, 0, 0, 1048588, 0, 0, 1048589, 0, 0, 1048590, 0, 0, 1048591, 0, 0, 1048592, 0, 0, 1048593, 0, 0, 1048594, 0, 0, 1048595, 0, 0, 1048596, 0, 0, 1048597, 0, 0, 1048598, 0, 0, 1048599, 0, 0, 1048600, 0, 0, 1048601, 0, 0, 1048602, 0, 0, 1048603, 0, 0, 1048604, 0, 0 )
|
||||
|
||||
[editable path="Blobby"]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user