C# 左右移动刚体
我似乎无法让我的刚体左右移动。代码看起来很好,与其他人发布的代码非常相似 正在调用调试语句,但我的角色没有左右移动 谢谢你的帮助C# 左右移动刚体,c#,unity3d,game-engine,C#,Unity3d,Game Engine,我似乎无法让我的刚体左右移动。代码看起来很好,与其他人发布的代码非常相似 正在调用调试语句,但我的角色没有左右移动 谢谢你的帮助 public float speed = 4.0f; void Update() { float moveDirection = Input.GetAxis("Horizontal"); if (Input.GetKeyDown("d")) { Debug.Log("pressed d
public float speed = 4.0f;
void Update()
{
float moveDirection = Input.GetAxis("Horizontal");
if (Input.GetKeyDown("d"))
{
Debug.Log("pressed d");
rb.AddForce(new Vector2(Time.deltaTime * speed * moveDirection, 0), ForceMode2D.Force);
}
我只是用一个3D环境测试了一下,但这不重要。所以毕竟我很确定你们已经找到了减少施加于
AddForce
的力的方法
因此,尝试将速度
提高到大约40000
,然后您应该能够注意到应用的AddForce
如果您想保持速度值较低,当然可以在此处添加一个乘数:
rb.AddForce(new Vector2(Time.deltaTime * speed * moveDirection * 10000f, 0), ForceMode2D.Force);
一个不错的单行选项是使用transform-translate
void Update ()
{
transform.Translate(Vector3.right * speed * Input.GetAxis("Horizontal") * Time.deltaTime);
}
AddForce不会在运动学刚体上工作。验证并在刚体组件中将IsKinetic设置为false。
如果这已经是错误的,请尝试按照d4Rk的建议增加力值