unity error CS0029

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TankMovers : MonoBehaviour {

	// 前进后退
    [SerializeField]int moveSpeed;
    // 左右旋转
    [SerializeField]int turnSpeed;
    // 炮击位置对象所属的层的层号
    [SerializeField]int targetLayerNum;
    // 炮击位置对象组件
    [SerializeField]Transform target;
    // 炮击位置对象默认离地高度
    [SerializeField]float targetY;
    // 瞄准器对象组件
    [SerializeField]Transform turretTarget;
    // 炮塔对象
    [SerializeField]Transform turret;
    // 炮塔的旋转角速率
    [SerializeField]float turretTurnSpeed;
    // 爆炸粒子特效预制件
    [SerializeField]GameObject explode;
    // 炮口是否已经瞄准目标
    bool readyToFire=false;
    // 炮弹是否已经填装完毕
    bool reloaded=true;
    // 炮弹填装时间间隔
    [SerializeField]float reloadTime;


  
    
	// Use this for initialization
	
	void Update(){
		
         Move();
         TurretTurn();
         Fire();
    }
    
  

        
	// Update is called once per frame
	
    void Move(){
	transform.position=transform.position+transform.forward*Input.GetAxis("Vertical")*(moveSpeed*Time.deltaTime);
        
    Vector3 newPosition=transform.position+transform.forward*Input.GetAxis ("Vertical")*(moveSpeed*Time.deltaTime);
    
    Quaternion newRotation=transform.rotation*Quaternion.Euler(0,turnSpeed*Input.GetAxis("Horizontal")*Time.deltaTime,0); 
    
    transform.SetPositionAndRotation (newPosition, newRotation);
    }
        
    void TurretTurn(){  
    
    Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);
    
    RaycastHit hit;

    if(Physics.Raycast(ray,out hit,Mathf.Infinity,1<<targetLayerNum)){
     
        target.position=new Vector3(hit.point.x,targetY,hit.point.z);
        target.gameObject.SetActive(true);
        turretTarget.LookAt(new Vector3(hit.point.x,turretTarget.position.y,hit.point.z));
        turret.rotation=Quaternion.RotateTowards(turret.rotation,turretTarget.rotation,turretTurnSpeed*Time.deltaTime);
    }else{target.gameObject.SetActive(false);}
}
    
     void Fire(){
        
    
        if(turret.rotation=turretTarget.rotation){
            readyToFire=true;
        }else{
            readyToFire=false;
        }
        
        if(Input.GetMouseButtonDown(0)&&readyToFire&&reloaded){
            Ray ray=new Ray(turret.position,turret.forward);
            RaycastHit hit;
            Vector3 lookatPosition=new Vector3(target.position.x,turret.position.y,target.position.z);
        
        
        if(Physics.Raycast(ray,out hit,Vector3.Distance(turret.position,lookatPosition))){
            Instantiate(explode,hit.point,Quaternion.identity);
      } else {
            Instantiate(explode,target.position,Quaternion.identity);
        }
         
         
        
        reloaded=false;
        StartCoroutine(WaitUntillReloaded());   
         
}
         
        
}
     IEnumerator WaitUntillReloaded(){
            yield return new WaitForSeconds(reloadTime);
            reloaded=true;
     }
}

 

你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关代码图片或者报错信息。便于技术专家团更好地理解问题,并给出解决方案。

您可以点击问题下方的【编辑】,进行补充修改问题。