ForestDruid
@ForestDruid
пытаюсь сделать игру на юнити

Вот код. Персонаж не двигается. Что делать???

public class PlayerController : MonoBehaviour
{ 
    public float SpeedX;
    public float SpeedY;
     private void FixedUpdate()
     {
        float moveHorizontal= Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");
        if (HorizontalMove > 0)
            sprt.flipX = false;
        else if (HorizontalMove < 0)
            sprt.flipX = true;
        rb.velocity = new Vector2(moveHorizontal * 
           SpeedX, moveVertical * SpeedX);
      }
}

Раньше всё работало, но я, кажется, что-то стёр и всё сломалось
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 2
@DimaScherb
Используй для создания персонажа компонент Character Controller. У Character Controller есть метод Move().
Vector3 moveVector = new Vector3(0, 0, 0); // Вектор передвижения.
void CharMove(){ // Этот метод в Update
    moveVector = Vector3.zero;
    moveVector.x = Input.GetAxis("Horizontal") * MoveSpeed; 
    moveVector.y = Input.GetAxis("Vertical") * MoveSpeed;
    CharacterController.Move(moveVector * Time.deltaTime); // Метод движения по вектору передвижения.
}
Ответ написан
zZaKko
@zZaKko
Люблю стратегии и Unity.
"+=", не "=".
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы