如何在 Unity 3D 上正确配置触控?

问题描述

我正在 Unity3D 上制作游戏。立方体,如附图所示,应该移动到某个位置,我实现了这一点,但是当我点击屏幕时出现问题,它一次移动多个位置,我用Debug测试了这种情况。日志(我也附上了照片),可以看到,一键触发多次触发,如何解决?

附言也可以建议如何增加立方体运动的平滑度,在某个坐标上,尝试通过transform.forward,但无法弄清楚如何将其停止在正确的坐标处。

The cube's position

The Message Debug.Log

private void Update()
{
    CubePosUp_Z = transform.position.z - 0.7f;
    CubePosDown_Z = transform.position.z + 0.7f;
    if (Input.touchCount > 0)
    {
        Touch touch = Input.GetTouch(0);

        if (touch.position.y > Screen.height / 2)
        {
            tempUp = 1;
            tempDown = 0;
        }
        else
        {
            tempUp = 0;
            tempDown = 1;
        }

        if (tempUp == 1 && tempDown == 0)
        {
            UpTran();
        }
        else if (tempUp == 0 && tempDown == 1)
        {
            DownTran();
        }
    }
}

void UpTran()
{
    Debug.Log("Up");

    if (CubePosUp_Z <= -1.4)
    {
        transform.Translate(0,Space.World);
    }
    else if (CubePosUp_Z > -1.4)
    {
        transform.Translate(0,-0.14f,Space.World);
    }
}
void DownTran()
{
    if (CubePosDown_Z >= 1.4)
    {
        transform.Translate(0,Space.World);
    }
    else if (CubePosDown_Z < 1.4)
    {
        transform.Translate(0,0.14f,Space.World);
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)