Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с ошибкой юнити

dhddh djkfdgjhj Ученик (62), на голосовании 2 месяца назад
Assets\Scripts\Player.cs(31,31): error CS0103: The name 'MovementVector' does not exist in the current context


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{

[SerializeField] private float movingSpeed = 10f;

private PlayerInputActions playerInputActions;

private Rigidbody2D rb;

private void Awake() {
rb = GetComponent<Rigidbody2D>();
playerInputActions = new PlayerInputActions();
playerInputActions.Player.Enable(); // Включаем конкретный Action Map
}





private Vector2 GetMovementVector(){
Vector2 inputVector = playerInputActions.Player.Move.ReadValue<Vector2>();

return inputVector;
}

private void FixedUpdate() {
Vector2 inputVector = MovementVector;


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));
}
}
Голосование за лучший ответ
noname noname Мастер (1274) 3 месяца назад
У тебя ошибка, потому что ты пытаешься использовать переменную `MovementVector`, которой нет в текущем коде. Нужно либо объявить эту переменную, либо использовать уже существующую переменную `inputVector`.
Егор Герасимов Знаток (340) 3 месяца назад
без форматирования читать больно
Похожие вопросы