Есть ли ошибка?
Первое, что нужно проверить, это то, к чему вы подключили этот скрипт, на самом деле Rigidbody2D
.
Физика, ie установка скоростей твердого тела, должна быть сделана в FixedUpdate
, а не Update
, если вы посмотрите на это, и это кажется слишком запутанным сейчас, не волнуйтесь, вы можете сойти с рук это пока.
Возможно, вам следует попробовать использовать rb.AddForce(movement * speed, ForceMode2D.Impluse);
.
Поскольку переменная movement
будет на самом деле положительной или отрицательной, в зависимости от того, какую клавишу вы нажимаете, первые два бита операторов if не
Попробуйте посмотреть в этом на один урок о перемещении игрока.