我已多次检查旋转是否由刚体加载并且旋转未冻结。但它会直接跳起来。还尝试看看刚体上的睡眠模式是否是问题所在,但似乎并非如此。
我在多次搜索中查找了这一点,甚至统一文档也有这种方法; https://docs.unity3d.com/ScriptReference/Transform-up.html,所以我忍不住认为这是统一以及我如何拥有精灵的问题。
update() 中的第一行代码打破了你的跳转方向:
body.velocity = Vector2(Input.Axis("Horizontal") * speed, body.velocity.y)
这意味着,如果你不按水平移动按钮,你将每帧将velocity.x设置为0。
要解决此问题,您可以将速度添加到现有速度值:
body.velocity += Vector2.right * (Input.Axis("Horizontal") * speed);