Vector2 offset = player.position - transform.position;if(offset.magnitude <1.1f){//攻击}else{//追捕float x =0, y =0;if(Mathf.Abs(offset.y)> Mathf.Abs(offset.x)){//按照y移动if(offset.y <0){
y =-1;}else{
y =1;}}else{if(offset.x >0){
x =1;}else{
x =-1;}//按照x移动}
targetPosition +=newVector2(x, y);}
镜头跟随
privateTransform player;privateVector3 offsetPosition;//位置偏移// Use this for initializationvoidStart(){
player = GameObject.FindGameObjectWithTag("Player").transform;
transform.LookAt(player.position);
offsetPosition = transform.position - player.position;}// Update is called once per framevoidUpdate(){
transform.position = offsetPosition + player.position;}