后一个点之后,便会重新返回,当这样定义完成之后,我们又新建了一个spawnEnemy脚本来管理所有怪物,这时在里面定义n个gameObject类型的数组,将事先定义好的点的集合在属性面板赋值,最后通过instantiate方法生成instantiate(enemyprefabs).ponent<Enemymove>().points = point1;在生成位置点后通过代码实现敌人沿着位置点移动РVector3 endPos = points[currentPoint + 1].transform.position;Рthis.gameObject.transform.LookAt(endPos);Р transform.Translate(Vector3.forward * speed * Time.deltaTime);Р敌人的追击通过判断主角与敌人之间的距离是否符合追击距离,如果符合追击距离,敌人就会追击主角并发功攻击:Р if(offset>0.5f && offset<=2.5f)Р { transform.Translate(Vector3.forward*2*speed*Time.deltaTime);}Р?if (offset <= 0.5f) //当距离小于1时,怪物每隔三秒攻击主角一次Р { //播放攻击动画Р anim.SetBool("isAttack", true);Р timer += Time.deltaTime;Р if (timer >= IntervalTime)Р { Р player.ponent<PlayerState>().SubHP(damage1);Р timer -= IntervalTime; } }Р4.主角的移动和攻击Р主角的移动是通过鼠标点击控制的,通过鼠标位置向地面生成一个射线并记录射线点,然后确定主角的移动位置: