randompeople0601
Профи
(810)
7 месяцев назад
Проблема возникает из-за того, что вы используете rb.velocity вместо rb.position при перемещении игрока. Вместо этого вы должны использовать rb.position, чтобы установить новую позицию объекта.
попробуй это
public class PlayerControler : MonoBehaviour
{
public float speed;
private Rigidbody2D rb;
private Vector2 moveVelocity;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
moveVelocity.x = Input.GetAxisRaw("Horizontal");
moveVelocity.y = Input.GetAxisRaw("Vertical");
}
void FixedUpdate()
{
rb.MovePosition(rb.position + moveVelocity * speed * Time.fixedDeltaTime);
}
}
симф мяумяуУченик (117)
7 месяцев назад
Огромное спасибо! Я смотрел коды из разных источников и всё напутал. Ещё раз спасибо!