Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

想要垂直移动需要怎么改?
osdfjwekoj发起了问答2021-03-03
3
回复
320
浏览
 if(Input.mousePosition.x>= 960)
        {
            logoCamera.transform.Translate(-Vector3.right * Time.deltaTime * cameraSpeed);
        }
        else if (Input.mousePosition.x <= 960)
        {
            logoCamera.transform.Translate(Vector3.right * Time.deltaTime * cameraSpeed);
        }
        else if (Input.mousePosition.y >= 540)
        {
            logoCamera.transform.Translate(-Vector3.up * Time.deltaTime * cameraSpeed);
        }
        else if (Input.mousePosition.y <= 540)
        {
            logoCamera.transform.Translate(Vector3.up * Time.deltaTime * cameraSpeed);
        }

这段只能水平移动,如果还想要垂直移动要怎么改?

所有回复
  • 老师_Trigger • 2021-03-03

    同学你好,看看后两个逻辑有没有走,可以输出一下,如果正常可以走是可以在y轴上移动的

    • osdfjwekoj • 2021-03-04

      后面两个没走.

      改成

      if(Input.mousePosition.x>= 960)
      {
      logoCamera.transform.Translate(-Vector3.right * Time.deltaTime * cameraSpeed);
      }
      else if (Input.mousePosition.x <= 960)
      {
      logoCamera.transform.Translate(Vector3.right * Time.deltaTime * cameraSpeed);
      }
      if (Input.mousePosition.y >= 540)
      {
      logoCamera.transform.Translate(-Vector3.up * Time.deltaTime * cameraSpeed);
      }
      else if (Input.mousePosition.y <= 540)
      {
      logoCamera.transform.Translate(Vector3.up * Time.deltaTime * cameraSpeed);
      }

      就正常了,这是为什么?

      (0) 回复
    • 老师_Trigger • 2021-03-04

      回复 @ osdfjwekoj: 因为如果都是elseif的话,满足前边的条件后边是不走的,同学可以学习一下c#系列教程,里边有详细讲解,也有练习题

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!