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

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

服务保障

1对1 答疑

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

即时回复

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

7天无理由退款

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

30天价保

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

提问必答

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

坦克大战第七第八课
Rices发起了问答2021-04-18
5
回复
325
浏览

还是会出现坦克移动时撞墙抖动,然后同时按两个方向键的时候会移动。

   private void FixedUpdate()//解决刚体移动抖动的问题,有关力的问题
    {
        float h = Input.GetAxisRaw("Horizontal");//得到水平轴数据
        transform.Translate(Vector3.right * h * moveSpeed * Time.fixedDeltaTime, Space.World);//x轴上的移动
      
        float v = Input.GetAxisRaw("Vertical");//得到数据
        transform.Translate(Vector3.up * v * moveSpeed * Time.fixedDeltaTime, Space.World);//y轴上的移动
        if (v < 0)
        {
            sr.sprite = TANK[2];
        }
        else if (v > 0)
        {
            sr.sprite = TANK[0];
        }
        if (v != 0)
        {
            return;
        }
        if (h < 0)
        {
            sr.sprite = TANK[3];
        }
        else if (h > 0)
        {
            sr.sprite = TANK[1];
        }

 

所有回复
  • 老师_Trigger • 2021-04-19

    同学你好,可以使用刚体的方法去移动,使用rigidbody.movePositon,放fixedupdate里可以解决

    还有-4条回复,点击查看
    你还没有登录,请先登录或注册!
  • Rices • 2021-04-19

    老师还是不行呀,而且我同时按两个方向键坦克还是会乱动

    • 老师_Trigger • 2021-04-19

      代码没有什么问题,看看是不是图片给的顺序不对,movePosition不会用的话可以等之后学其他案例再用,小抖动可以先不用管,如果很严重说明是设计比例的问题,可以先使用老师项目中游戏物体的大小去开发

      (0) 回复
    • Rices • 2021-04-19

      好的好的谢谢老师

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