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

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

服务保障

1对1 答疑

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

即时回复

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

7天无理由退款

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

30天价保

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

提问必答

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

吃豆人移动问题
梦寒o_o发起了问答2019-03-01
1
回复
373
浏览
void Move() { if (Input.GetKey(KeyCode.W)) { target = rig.position + Vector2.up; } if (Input.GetKey(KeyCode.S)) { target = rig.position + Vector2.down; } if (Input.GetKey(KeyCode.A)) { target = rig.position + Vector2.left; } if (Input.GetKey(KeyCode.D)) { target = rig.position + Vector2.right; } if (isMove(target)) { rig.position = Vector2.Lerp(rig.position, target, Speed); print(rig.position); if (Vector2.Distance(rig.position, target) < 0.05f) { rig.position = target; } } } bool isMove(Vector2 targetPos) { RaycastHit2D hit = Physics2D.Linecast(targetPos, rig.position); if (hit.collider.gameObject.name == "Maze") { return false; } else { return true; } } //吃豆人的移动自己改了一下,按这种移动方式,请问为什么不会按照整数的单位移动呢
所有回复
  • 老师_Bathur • 2019-03-02

    您好,请勿对含有刚体的组件进行transform.position的移动控制,您不应该使用刚体.position=Lerp的方式去移动哦~请使用刚体所带的MovePosition进行刚体的提供操作

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