godot-steering-ai-framework/godot/Demos/SeekFlee/Player.gd

27 lines
707 B
GDScript

extends KinematicBody2D
# Class to control the player in basic left/right up/down movement.
var speed: float
onready var agent := GSAIAgentLocation.new()
func _ready() -> void:
agent.position = GSAIUtils.to_vector3(global_position)
func _physics_process(_delta: float) -> void:
var movement := _get_movement()
if movement.length_squared() < 0.01:
return
# warning-ignore:return_value_discarded
move_and_slide(movement * speed)
agent.position = GSAIUtils.to_vector3(global_position)
func _get_movement() -> Vector2:
return Vector2(
Input.get_action_strength("sf_right") - Input.get_action_strength("sf_left"),
Input.get_action_strength("sf_down") - Input.get_action_strength("sf_up")
)