extends CharacterBody2D const SPEED = 100.0 func _physics_process(delta: float) -> void: var direction := Input.get_axis("left", "right") var updownDirection:=Input.get_axis("up","down") if direction: velocity.x = direction * SPEED else: velocity.x = move_toward(velocity.x, 0, SPEED) if updownDirection: velocity.y = updownDirection *SPEED else: velocity.y = move_toward(velocity.y,0,SPEED) animation(direction,updownDirection) move_and_slide() func animation(directionX,directionY): if directionX == 0 and directionY == 0: $"AnimatedSprite2D".set_frame(0) $"AnimatedSprite2D".pause() if directionX < 0: $"AnimatedSprite2D".play("WalkLeft") elif directionX > 0: $"AnimatedSprite2D".play("WalkRight") if directionY > 0 and directionX == 0: $"AnimatedSprite2D".play("WalkDown") elif directionY < 0 and directionX ==0: $"AnimatedSprite2D".play("WalkUp")