c# - 方块破坏游戏的输入
问题描述
我的方块破坏游戏中的动作似乎有点紧张,我不完全确定为什么。
任何帮助将不胜感激。
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));
}
解决方案
其中FixedUpdate
的transform
值可能与Rigidbody
物理计算的值不同。
您应该只使用和更新Rigidbody
组件FixedUpdate
:
// |
// V
rb.MovePosition(rb.position + Vector3.right * speed * Time.deltaTime * movement);
推荐阅读
- networking - 在 TextFSM 上从末尾匹配字符串
- android - 如何更改 viewpager 的大小以匹配屏幕而不与其他元素重叠?
- java - 使用apache POI保护/冻结xslx工作表中图像的位置和大小
- apache-spark - 如何在 Snowflake Spark 连接器中使用 Google 存储桶作为外部舞台位置?
- spring-security - Spring Security OAuth2 SSO 微服务 - 没有为 /oauth/authorize 传递标头
- jenkins - Freestyle Jenkins 作业和 Gitlab 集成 | 使用多个 webhook,管道将永远处于挂起状态
- javascript - 在对象数组中过滤布尔值
- java - 用于远程启动服务的 CMD 命令不在代码中运行但在 CMD 上运行
- algorithm - 三次贝塞尔曲线与圆弧的逼近
- python - Keras NN 中的恒定精度/损失