private void Awake() {
rb = GetComponent();
playerInputActions = new PlayerInputActions();
playerInputActions.Player.Enable(); // Включаем конкретный Action Map
}
private Vector2 GetMovementVector(){
return playerInputActions.Player.Move.ReadValue();
}
Если проблема все еще сохраняется, проверьте следующее:
1. Убедитесь, что ваш Input Action Asset правильно настроен и сохранен.
2. Попробуйте закрыть и снова открыть Unity, иногда это помогает обновить сгенерированные классы.
3. Проверьте, нет ли ошибок в консоли Unity, которые могут указывать на проблемы с Input System.
dhddh djkfdgjhjУченик (62)
3 месяца назад
проблема не убралась те 3 пункта я сделал,ошибка как была так и осталась в консоле теперь ошибка Assets\Scripts\Player.cs(26,21): error CS0111: Type 'Player' already defines a member called 'GetMovementVector' with the same parameter types
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
private float movingSpeed = 10f;
private PlayerInputActions playerInputActions;
private Rigidbody2D rb;
private void Awake() {
rb = GetComponent<Rigidbody2D>();
playerInputActions = new PlayerInputActions();
playerInputActions.Enable();
}
private Vector2 GetMovementVector(){
Vector2 inputVector = playerInputActions.Player.Move.ReadValue<Vector2>();
return inputVector;
}
private void FixedUpdate() {
Vector2 inputVector = GetMovementVector();
// Vector2 inputVector = new Vector2(0, 0);
// if (Input.GetKey(KeyCode.W)) {
// inputVector.y = 1f;
// }
// if (Input.GetKey(KeyCode.S)) {
// inputVector.y = -1f;
//}
// if (Input.GetKey(KeyCode.A)) {
// inputVector.x = -1f; // Исправлено направление движения по оси X
// }
// if (Input.GetKey(KeyCode.D)) {
// inputVector.x = 1f;
// }
Debug.Log(inputVector);
rb.MovePosition(rb.position + inputVector * (movingSpeed * Time.fixedDeltaTime));
}
}