Mobile 用布尔控制销毁对象

Mobile 用布尔控制销毁对象,mobile,unity3d,unityscript,Mobile,Unity3d,Unityscript,我在unity教程中找到了一个点击对象的按钮,并尝试为destroy对象添加一些代码 我的问题是当我尝试点击计数器递减和布尔值更改false时。 但若我继续敲击目标,敌人仍会摧毁 如何更正代码 var counter : int =3; public var destroy = true; function Update () { var hit: RaycastHit; var ray = Camera.main.ScreenPointToRay (Input.mousePosi

我在unity教程中找到了一个点击对象的按钮,并尝试为destroy对象添加一些代码

我的问题是当我尝试点击计数器递减和布尔值更改false时。 但若我继续敲击目标,敌人仍会摧毁

如何更正代码

var counter : int =3;
public var destroy = true;
function Update () {
    var hit: RaycastHit;
   var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
   if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)    

    {
       if (Physics.Raycast (ray, hit, 100)) 
      {
           if(hit.collider.gameObject.tag == "weapon" && destroy==true)

                counter-=1;
                DestroyEnemy();
                Check();
                                  }
        }
    }

function DestroyEnemy() {

 Destroy(GameObject.Find("enemy2(Clone)"));
 Destroy(GameObject.Find("enemy(Clone)"));

}

function Check() {

if (counter <=0)
destroy=false;

}

您可能缺少if语句中的括号:

if(hit.collider.gameObject.tag == "weapon" && destroy==true)
    counter-=1;
    DestroyEnemy();
    Check();
如果运行此命令,则If语句中只有计数器-=1。无论销毁值是多少,每次点击时都会运行“销毁敌人”和“检查”。为多行if语句提供括号:

if(hit.collider.gameObject.tag == "weapon" && destroy==true)
{ // this
    counter-=1;
    DestroyEnemy();
    Check();
} // and this

谢谢你,只要两个花括号。我怎么能忘记他们: