我有一艘宇宙飞船,它会顺时针或逆时针旋转,具体取决于按下左按钮还是右按钮。我正在使用虚拟操纵杆,它工作正常,但决定更改为左右按钮。现在,如果单击一个按钮,它将旋转到固定位置并在每次按下按钮时停止,我希望它在按住按钮时沿一个方向连续移动并在释放时停止。
我正在将 unity 标准资源与跨平台输入 ButtonHadler 脚本结合使用,并结合我的"移动"脚本。
void Update()
{
if (CrossPlatformInputManager.GetButtonDown("turn"))
{
TurnShip();
}
}
public void TurnShip()
{
transform.Rotate(Vector3.up * 50f * Time.deltaTime);
}
您正在使用 GetButtonDown
,当您按下按钮时,它只返回一次 true,并且在您松开按钮并再次按下它之前保持 false。请改用GetButton
。
更改为 GetButton 是我丢失的一部分,但我也错误地设置了按钮,我不小心在同一事件类型中添加了一个具有两个函数的事件类型,一个指针向下和指针向上,而不是将它们分开。