对于MovePosition-为什么我的对象在没有垂直输入变量的情况下会缓慢下落?

问题描述 投票:-1回答:1

我很好奇为什么当我未设置“垂直”输入时对象会缓慢下落:

a.x = Input.GetAxisRaw("Horizontal");
//a.y = Input.GetAxisRaw("Vertical");
rb.MovePosition(rb.position + a * speed * Time.deltaTime);

但是当我添加“垂直”输入时,对象立即掉落。

为什么会这样?

c# unity3d
1个回答
0
投票

我读了一点,我认为当我使用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);
© www.soinside.com 2019 - 2024. All rights reserved.