Compare commits

...

3 commits

6 changed files with 55 additions and 18 deletions

View file

@ -41,41 +41,76 @@ hit="hitboxes"
[input]
move_up={
p1_move_up={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
]
}
move_down={
p1_move_down={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
]
}
move_left={
p1_move_left={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
]
}
move_right={
p1_move_right={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
]
}
shift={
p1_mod={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
hit_left={
p1_hit_left={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":79,"key_label":0,"unicode":111,"location":0,"echo":false,"script":null)
]
}
hit_right={
p1_hit_right={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":80,"key_label":0,"unicode":112,"location":0,"echo":false,"script":null)
]
}
p2_move_up={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
p2_move_down={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
p2_move_left={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
p2_move_right={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
p2_mod={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194438,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
p2_hit_left={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194440,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
p2_hit_right={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194441,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
[layer_names]

View file

@ -27,7 +27,8 @@ func _on_hit(hitbox: Area2D) -> void:
var player: Player = hitbox.get_parent()
var timer: Timer = player.hit_timer
launch()
timer.connect("timeout", _on_hit_end)
if not timer.is_connected("timeout", _on_hit_end):
timer.connect("timeout", _on_hit_end)
EventBus.ball_hit.emit(player.id, linear_velocity)
is_hit = true

View file

@ -16,8 +16,9 @@ func _ready() -> void:
assert(id == 1 or id == 2, "id ("+str(id)+") is invalid")
anim_dir = 'up' if id == 1 else 'down'
def_dir = 'up' if id == 1 else 'down'
hit_timer.connect("timeout", $StateMachine/Hitting._on_hit_end)
func get_movement_vector() -> Vector2:
var x_mov: float = Input.get_action_strength('move_right') - Input.get_action_strength('move_left')
var y_mov: float = Input.get_action_strength('move_down') - Input.get_action_strength('move_up')
var x_mov: float = Input.get_action_strength('p'+str(id)+'_move_right') - Input.get_action_strength('p'+str(id)+'_move_left')
var y_mov: float = Input.get_action_strength('p'+str(id)+'_move_down') - Input.get_action_strength('p'+str(id)+'_move_up')
return Vector2(x_mov, y_mov)

View file

@ -42,8 +42,8 @@ func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void:
)
hit_node_ref = weakref(hit_node)
player.hit_timer.timeout.connect(_on_hit_end)
# cooldown
player.hit_timer.start()
func _on_hit_end() -> void:
@ -63,11 +63,11 @@ func _on_hit_end() -> void:
print("transitioning to idling")
finished.emit(IDLE)
return
elif Input.is_action_pressed("hit_left"):
elif Input.is_action_pressed('p'+str(player.id)+'_hit_left'):
print("transitioning to hitting left")
finished.emit(HITTING, {hit_dir = "left"})
return
elif Input.is_action_pressed("hit_right"):
elif Input.is_action_pressed('p'+str(player.id)+'_hit_right'):
print("transitioning to hitting right")
finished.emit(HITTING, {hit_dir = "right"})
return

View file

@ -19,9 +19,9 @@ func _state_physics_update(_delta: float) -> void:
if movement_vector.length() > player.DEADZONE:
finished.emit(RUNNING)
return
elif Input.is_action_pressed("hit_left"):
elif Input.is_action_pressed('p'+str(player.id)+'_hit_left'):
finished.emit(HITTING, {hit_dir = "left"})
return
elif Input.is_action_pressed("hit_right"):
elif Input.is_action_pressed('p'+str(player.id)+'_hit_right'):
finished.emit(HITTING, {hit_dir = "right"})
return

View file

@ -16,10 +16,10 @@ func _state_physics_update(_delta: float) -> void:
if movement_vector.length() <= player.DEADZONE:
finished.emit(IDLE)
return
elif Input.is_action_just_pressed("hit_left"):
elif Input.is_action_just_pressed('p'+str(player.id)+'_hit_left'):
finished.emit(HITTING, {hit_dir = "left"})
return
elif Input.is_action_just_pressed("hit_right"):
elif Input.is_action_just_pressed('p'+str(player.id)+'_hit_right'):
finished.emit(HITTING, {hit_dir = "right"})
return