首页 > 解决方案 > 方块破坏游戏的输入

问题描述

我的方块破坏游戏中的动作似乎有点紧张,我不完全确定为什么。

任何帮助将不胜感激。

private Rigidbody2D rb;
public float speed = 10f;
public float movement;

void Start()
{
    rb = GetComponent<Rigidbody2D>();
}

void Update()
{
    movement = Input.GetAxis("Horizontal");
}


private void FixedUpdate()
{
    rb.MovePosition(transform.position + (Vector3.right * speed * Time.deltaTime * movement));
}

标签: c#unity3d

解决方案


其中FixedUpdatetransform值可能与Rigidbody物理计算的值不同。

您应该只使用和更新Rigidbody组件FixedUpdate

//               |
//               V
rb.MovePosition(rb.position + Vector3.right * speed * Time.deltaTime * movement);

推荐阅读