No more bean! Also modifier on grounded seems to be working.
This commit is contained in:
parent
b45272934f
commit
f7f5ce1e61
|
|
@ -161,6 +161,9 @@ func new_move_actor_as_desired(_delta :float,
|
||||||
_movement_override_normal := Vector2(0,0),
|
_movement_override_normal := Vector2(0,0),
|
||||||
_velocity_override := Vector2(0,0)) -> Vector2:
|
_velocity_override := Vector2(0,0)) -> Vector2:
|
||||||
|
|
||||||
|
if _state.name == 'jump':
|
||||||
|
var foo = 2+2 # break
|
||||||
|
|
||||||
var calc_velocity = Vector2.ZERO
|
var calc_velocity = Vector2.ZERO
|
||||||
if _velocity_override.x != 0.0:
|
if _velocity_override.x != 0.0:
|
||||||
calc_velocity.x = _velocity_override.x
|
calc_velocity.x = _velocity_override.x
|
||||||
|
|
@ -202,8 +205,10 @@ func new_move_actor_as_desired(_delta :float,
|
||||||
var modifier_indicator := ''
|
var modifier_indicator := ''
|
||||||
var movement_parameters :MovementParameters = _state.get_movement_parameters()
|
var movement_parameters :MovementParameters = _state.get_movement_parameters()
|
||||||
if modifier and modifier.is_active:
|
if modifier and modifier.is_active:
|
||||||
if !(_state.is_grounded and modifier.only_grounded): # Should we skip
|
if (_state.is_grounded and modifier.only_grounded): # Should we skip
|
||||||
modifier_indicator = '*'
|
modifier_indicator = '*'
|
||||||
|
if _state.name == 'jump':
|
||||||
|
var foo = 2+2 # break
|
||||||
movement_parameters.apply_state_modifier(modifier, move_direction.x)
|
movement_parameters.apply_state_modifier(modifier, move_direction.x)
|
||||||
|
|
||||||
## Inertia only applies if there is a difference between the
|
## Inertia only applies if there is a difference between the
|
||||||
|
|
@ -356,6 +361,9 @@ func is_out_of_range(value: float, a: float, b: float) -> bool:
|
||||||
## the parent is. If Kinematic then move_and_slide, otherwise manually adjusted
|
## the parent is. If Kinematic then move_and_slide, otherwise manually adjusted
|
||||||
func apply_movement_to_parent( _velocity :Vector2) -> void:
|
func apply_movement_to_parent( _velocity :Vector2) -> void:
|
||||||
var snap = Vector2.DOWN * 8
|
var snap = Vector2.DOWN * 8
|
||||||
|
## Disable snap when trying to jump (hacky?)
|
||||||
|
if _velocity.y < -8:
|
||||||
|
snap = Vector2.ZERO
|
||||||
if parent is KinematicBody2D:
|
if parent is KinematicBody2D:
|
||||||
velocity = parent.move_and_slide_with_snap(_velocity, snap , Vector2.UP, true)
|
velocity = parent.move_and_slide_with_snap(_velocity, snap , Vector2.UP, true)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,3 +67,5 @@ func merge(_merge_from_modifier: StateModifier):
|
||||||
horizontal_acceleration += _merge_from_modifier.horizontal_acceleration
|
horizontal_acceleration += _merge_from_modifier.horizontal_acceleration
|
||||||
horizontal_speed_offset += _merge_from_modifier.horizontal_speed_offset
|
horizontal_speed_offset += _merge_from_modifier.horizontal_speed_offset
|
||||||
horizontal_speed_offset_acceleration += _merge_from_modifier.horizontal_speed_offset_acceleration
|
horizontal_speed_offset_acceleration += _merge_from_modifier.horizontal_speed_offset_acceleration
|
||||||
|
direction = _merge_from_modifier.direction
|
||||||
|
only_grounded = _merge_from_modifier.only_grounded
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,8 @@ func _ready():
|
||||||
|
|
||||||
func get_movement_direction() -> float:
|
func get_movement_direction() -> float:
|
||||||
#return Input.get_axis('move_left', 'move_right')
|
#return Input.get_axis('move_left', 'move_right')
|
||||||
desired_movement_vector.x = Input.get_axis("move_left_" + str(player_number), "move_right_" + str(player_number))
|
desired_movement_vector.x = sign(Input.get_axis("move_left_" + str(player_number), "move_right_" + str(player_number)))
|
||||||
return Input.get_axis("move_left_" + str(player_number), "move_right_" + str(player_number))
|
return desired_movement_vector.x # sign(Input.get_axis("move_left_" + str(player_number), "move_right_" + str(player_number)))
|
||||||
|
|
||||||
var _wants_jump :bool
|
var _wants_jump :bool
|
||||||
func wants_jump() -> bool:
|
func wants_jump() -> bool:
|
||||||
|
|
@ -305,8 +305,8 @@ func _state_process_physics_jump():
|
||||||
# request_state_change.call_func('idle')
|
# request_state_change.call_func('idle')
|
||||||
if velocity.y > 0:
|
if velocity.y > 0:
|
||||||
request_state_change.call_func('fall')
|
request_state_change.call_func('fall')
|
||||||
move_actor_as_desired()
|
#move_actor_as_desired()
|
||||||
#apply_movement_to_parent(new_move_actor_as_desired( physics_delta , current_state ))
|
apply_movement_to_parent(new_move_actor_as_desired( physics_delta , current_state ))
|
||||||
|
|
||||||
func _state_process_physics_move():
|
func _state_process_physics_move():
|
||||||
# flip sprite in direction
|
# flip sprite in direction
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user