Unity 2D персонаж не ходит
Приветствую работаю с 2D объектом на Unity и не могу понять почему персонаж не ходит. Код для того чтоб персонаж ходил прописан верно , в самом unity персонаж на секунду совершает рывок и положение тоже изменяется, и дальше он не ходит все остальные функции работают отлично (Jump и поворот головы)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerCTRL : MonoBehaviour
{
public float speed = 20f;
private Rigidbody2D rb;
private bool faceRight = true;
void Start()
{
rb = GetComponent <Rigidbody2D> ();
}
void Update()
{
// Speed
float moveX = Input.GetAxis("Horizontal");
rb.MovePosition(rb.position + Vector2.right * moveX * speed * Time.deltaTime);
//Jump
if (Input.GetKeyDown(KeyCode.Space))
rb.AddForce(Vector2.up * 8000);
//Поворот головы
if (moveX > 0 && !faceRight)
flip();
else if (moveX < 0 && faceRight)
flip();
}
// Поворот головы
void flip()
{
faceRight = !faceRight;
transform.localScale = new Vector3(transform.localScale.x * -1, transform.localScale.y,transform.localScale.z);
}
}