我很好奇为什么当我未设置“垂直”输入时对象会缓慢下落:
a.x = Input.GetAxisRaw("Horizontal");
//a.y = Input.GetAxisRaw("Vertical");
rb.MovePosition(rb.position + a * speed * Time.deltaTime);
但是当我添加“垂直”输入时,对象立即掉落。
为什么会这样?
我读了一点,我认为当我使用rb.velocity = new Vector2(speed, rb.velocity.y);
时,该部分重置了对象上的所有物理场。特别是,这部分负责我正在谈论的效果:rb.velocity.y
。因为速度重置对象上的物理。
而且当我使用a.y = Input.GetAxisRaw("Vertical");
时
rb.MovePosition((Vector2)transform.position + a * speed * Time.deltaTime);