Duck and slide states and handling stub
This commit is contained in:
parent
1351dbb004
commit
59e87c846a
@ -94,6 +94,14 @@ texture={
|
||||
|
||||
[input]
|
||||
|
||||
ui_accept={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777222,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
|
||||
]
|
||||
}
|
||||
move_left={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
|
||||
@ -126,6 +134,12 @@ boost_move={
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null)
|
||||
]
|
||||
}
|
||||
duck={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[layer_names]
|
||||
|
||||
|
||||
@ -133,6 +133,9 @@ script = ExtResource( 2 )
|
||||
|
||||
[node name="BlobbyStateMachine" type="Node" parent="."]
|
||||
script = ExtResource( 3 )
|
||||
coyote_hanging = null
|
||||
init_boost = null
|
||||
init_boost_type = null
|
||||
|
||||
[node name="JumpBufferTimer" type="Timer" parent="BlobbyStateMachine"]
|
||||
wait_time = 0.067
|
||||
|
||||
@ -14,6 +14,7 @@ onready var sprite = parent.get_node("BlobbySprite")
|
||||
# Adds the intial states
|
||||
func _ready():
|
||||
add_state("idle")
|
||||
add_state("duck")
|
||||
add_state("run")
|
||||
add_state("walk")
|
||||
add_state("jump")
|
||||
@ -40,6 +41,8 @@ func _state_logic(delta):
|
||||
match self.state:
|
||||
"idle":
|
||||
handle_input_ref = funcref(self, "handle_idle_input")
|
||||
"duck":
|
||||
handle_input_ref = funcref(self, "handle_duck_input")
|
||||
"walk":
|
||||
handle_input_ref = funcref(self, "handle_walk_input")
|
||||
"run":
|
||||
@ -65,11 +68,10 @@ func _state_logic(delta):
|
||||
|
||||
|
||||
func handle_idle_input(delta, direction) -> Vector2:
|
||||
if Input.is_action_pressed("boost_move"):
|
||||
return parent.handle_grounded_movement(delta, direction)
|
||||
else:
|
||||
return parent.handle_grounded_movement(delta, direction)
|
||||
|
||||
func handle_duck_input(delta, direction) -> Vector2:
|
||||
return parent.handle_duck_movement(delta, direction)
|
||||
|
||||
func handle_walk_input(delta, direction) -> Vector2:
|
||||
return parent.handle_grounded_movement(delta, direction)
|
||||
@ -144,6 +146,8 @@ func _get_transition(_delta):
|
||||
elif parent.velocity.x != 0:
|
||||
if Input.is_action_pressed("boost_move"):
|
||||
new_state = states.run
|
||||
elif Input.is_action_just_pressed("duck"):
|
||||
new_state = states.duck
|
||||
else:
|
||||
new_state = states.walk
|
||||
coyote_hanging = false
|
||||
|
||||
Loading…
Reference in New Issue
Block a user