c# - 为什么我的对象在按下按钮时不连续旋转?
问题描述
我有一艘宇宙飞船,它会顺时针或逆时针旋转,具体取决于按下左键还是右键。我使用的是虚拟操纵杆,它工作正常,但决定更改为左右按钮。现在,如果单击一个按钮,它会旋转到一个固定位置并在我每次按下按钮时停止,我希望它在按住按钮时沿一个方向连续移动并在释放时停止。
我将统一标准资产与跨平台输入 ButtonHadler 脚本与我的“移动”脚本结合使用。
void Update()
{
if (CrossPlatformInputManager.GetButtonDown("turn"))
{
TurnShip();
}
}
public void TurnShip()
{
transform.Rotate(Vector3.up * 50f * Time.deltaTime);
}
解决方案
您正在使用GetButtonDown
,它仅在您按下按钮时返回一次true ,并且在您释放按钮并再次按下之前保持为 false 。改为使用GetButton
。
推荐阅读
- python-3.x - 使用 pandas 进行旋转的数据框
- node.js - 执行 npm 安装代码 ENOENT 系统调用重命名时出错
- c# - 如何从后置摄像头更改为前置摄像头?
- signals - 信号 Godot 内的意外分配
- mysql - 如何在 rails5 上取出每个具有 parent_ids 限制的孩子
- php - 设置与 GET 参数相同的 $_SESSION 值是否存在安全风险 - PHP?
- visual-studio-code - 我用 xkb 将 RALT 反弹到退格,但它在 VS Code 中不起作用
- performance - 选择列时访问子表单对象挂起?
- java - 使用 Lombok @Slf4j 时如何使来自其他依赖项的日志静音
- python - 如何更改我的代码中的 for 循环以在我的数据框中为我提供一个额外的列?