Задать вопрос
@wesstix

Почему персонаж не ходит 2д?

Почему персонаж не ходит 2д? вот код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
public float speed;
public float jumpForce;
private float moveInput;

private Rigidbody2D rb;
private void start()
{
rb = GetComponent();
}
private void FixedUpdate()
{
moveInput = Input.GetAxis("Horizontal");
rb.linearVelocity = new Vector2(moveInput * speed,rb.linearVelocity.y);
}
}
  • Вопрос задан
  • 300 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@DrRen7
rb = GetComponent();  //какой?
rb = GetComponent<Rigidbody2D>(); // надо

moveInput = Input.GetAxis("Horizontal");
считываем инпут в update
https://docs.unity3d.com/6000.1/Documentation/Scri...
ну да ещё и старт с маленькой буквы) переписал
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    private Rigidbody2D _rb2d;
    [SerializeField] private float _speed=2f;
    private float _inputX;
    private Vector2 _moveDir;
    private void Start()
    {
        _rb2d = GetComponent<Rigidbody2D>();
    }
    private void Update()
    {
        _inputX = Input.GetAxis("Horizontal");
    }
    private void FixedUpdate()
    {
        _moveDir = transform.right * _inputX;
//_moveDir.y = _rb2d. linearVelocity.y  // падение и прыжек пока выкл 
        _rb2d.linearVelocity= _moveDir*_speed;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы