Как запретить игроку отклоняться от оси x и y? Чтобы он ходил ровно по оси x и y

201
20 сентября 2019, 22:30

Как запретить игроку отклонять от оси x и y? Чтобы он ходил ровно по оси x и y.

public class MovingPlayer : MonoBehaviour
{
public float speed;
private Rigidbody2D myRigidbody;
private Vector3 change;
void Start (){
    myRigidbody = GetComponent<Rigidbody2D>();
}
void Update (){
    change = Vector3.zero;
    change.x = Input.GetAxisRaw("Horizontal");
    change.y = Input.GetAxisRaw("Vertical");
    if(change != Vector3.zero)
    {
        MoveCharacter();
    }
}
void MoveCharacter()
{
    myRigidbody.MovePosition(
    transform.position + change * speed * Time.deltaTime
);
}
}

Answer 1
  1. У Rigidbody есть настройка блокирования передвижения или наклона по определенных осях. В окне инспектор у компонента Rigidbody вкладка "Constraints" - Freeze Position, Freeze Rotation
  2. после этого банально достаточно изменять только нужные вектора в нужных направлениях и не изменять в ненужных.
READ ALSO
combobox search

combobox search

Интересует вопрос как в combobox реализовать поиск не по первой букве/цифре/символу, а по вхождению в строку?

166
Можно ли передавать объект как другой тип, если у него есть операторы неявного преобразования

Можно ли передавать объект как другой тип, если у него есть операторы неявного преобразования

Хотелось бы узнать, допустим есть класс, который можно инициализировать как через конструктор, так и через оператор неявного преобразования:

147
Возникает исключение System.Net.WebException: An exception occurred during a WebClient request. Как это исправить?

Возникает исключение System.Net.WebException: An exception occurred during a WebClient request. Как это исправить?

Необходимо скачать файл с FTP после нажатия кнопки,но при этом возникает такое исключение

166