Не функционирует перемещение Unity 2D

131
24 декабря 2018, 00:40

Написал скрипт на шарпе, прикрепил его к обьекту игрока, по задумке изображение должно перемещаться по нажатию на стрелку вправо, но ничего не происходит.

using UnityEngine;
public class playerCont : MonoBehaviour {
    public float speed = 20f;
    private Rigidbody2D rb;
    void Start () {
        rb = GetComponent <Rigidbody2D> ();
    }
    void Update () {
        float moveX = Input.GetAxis("Horizontal");
        rb.MovePosition (rb.position + Vector2.right * MoveX  * speed * 
    Time.deltaTime);
    }
}
Answer 1

Скопировал ваш код - всё работает.

Вы уверены, что у вас в Rigidbody2D объекта не установлены галочки во FreezePosition?

MovePosition(...) двигает объект по всем правилам физики, с применением интерполяции, а значит если заблокировать положение Rigidbody2D , то объект через него не сдвинуть.

READ ALSO
Создать свой Task.Run

Создать свой Task.Run

Каким образом в c# можно сделать async получив значение во внешний метод из лямбды?

144
C# WPF Binding метода

C# WPF Binding метода

Есть метод

149