Всем привет! Делаю игру и мне нужно что бы персонаж ровно передвигался по сетке , я сделал следующий код
public float Speed;
private Rigidbody2D _rigibody2D;
void Start()
{
_rigibody2D = GetComponent<Rigidbody2D>();
}
void FixedUpdate()
{
if (Input.GetKeyDown(KeyCode.S)) {
transform.Translate(new Vector2(0.0f , -Speed * Time.deltaTime));
}
}
После нажатия кнопки S персонаж двигается на расстояние указанное в Speed , ну и все работает , но вот только он делает это очень резко ну и я добавил Time.deltaTime , после чего персонаж начал передвигаться плавно , но расстояние
изменяется , например : 0.245 или 0.753 ( это после вычитания числа из Speed , ( числа выдуманы 0.245 и 0.753 )) , а мне надо чтобы персонаж передвигался по равному расстоянию , сделав вместо Update , FixedUpdate проблема исчезла , но при этом т.к. FixedUpdate работает по определенным моментам (не как Update) после передвижения , чтобы снова двинуться нужно подождать примерно 1 секунду перед тем как снова двинуться , мне бы хотелось чтобы не было этой задержки , но из за Update снова появляется старая проблема . Что можно сделать чтобы решить мою проблему?