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

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

服务保障

1对1 答疑

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

即时回复

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

7天无理由退款

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

30天价保

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

提问必答

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

在《如何制作塔防游戏》里设置敌人到达目标点的问题
ShaWs_发起了问答2019-12-16
6
回复
714
浏览

敌人会绕圈而不是到达目标点

看了代码和老师的一模一样

public class Enemy : MonoBehaviour 
  {
   /***脚本作用***/
   
   /*public*/
   //敌人移动速度
   public float speed = 10;
  
   /*private*/
   //路径点数组
   private Transform[] positions;
   //路径点索引
   private int index = 0;
  
   /*bool*/
  
   private void Start()
   {
      //获取路径点数组
      positions = WayPoints.positions;
   }
  
   private void Update()
   {
      Move();
   }
  
   //敌人移动方法
   private void Move()
   {
      //判断索引是否越界
      if(index>positions.Length-1) return;
      
      //敌人移动
      Debug.Log((positions[index].position-transform.position).normalized);
      transform.Translate((positions[index].position-transform.position).normalized*Time.deltaTime*speed);
      //判断敌人是否到达目标点
      if (Vector3.Distance(positions[index].position, transform.position) < 0.2f)
      {
         index++;
      }
  
   }
  } 
所有回复
  • 老师_Trigger • 2019-12-17

    同学你好,看一下路径点设置的位置是否正确,另外看一下获取到的点的位置是否正确,可以输出一下。

    还有-4条回复,点击查看
    你还没有登录,请先登录或注册!
  • ShaWs_ • 2019-12-17

    • 老师_Trigger • 2019-12-17

      可以再仔细检查一下,如果是绕圈说明是路径点的顺序问题,肯定是接到了起点上,可以把第一个点去掉,老师路点里是不含起点的,如果检查还是排查不了问题可以发老师邮箱1925774628@qq.com

      (0) 回复
    • ShaWs_ • 2019-12-18

      回复 @ 老师_Trigger: 好的

      (0) 回复
    • ShaWs_ • 2019-12-18

      回复 @ 老师_Trigger: 解决了,敌人我粘贴了其他物体的transform所以出了Bug

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