10 次射击后禁用项目

Disable item after 10 shots

如何在按下鼠标左键 10 次后禁用某个对象?这是我正在使用的脚本,但效果不是很好。

#pragma strict

var myTrigger : GameObject;
var myObject : GameObject;
var countAmmo : int = 10 ;

function Start()
{
}

function Update()
{
  if(Input.GetButtonDown("Fire1"))

     countAmmo = 10;

        //myObject.SetActive(true);

        countAmmo = (countAmmo -1);

         countAmmo = 0; 

        myObject.SetActive(false);
}

遵循适当的变量范围.. 试试这个:

    var countAmmo : int = 10 ;

    function Update()
     {

      if(Input.GetButtonDown("Fire1"))  

         countAmmo = countAmmo -1;        
         if(countAmmo == 0){         
            myObject.SetActive(false);    
         }else{
            myObject.SetActive(true);
         } 
     }
}

我相信您正试图在每次按下按钮时将计数减一,直到计数为零。如果没有更多的弹药(count = 0),您需要禁用开火按钮,对吗?

您必须将逻辑包装在 if 中。

countAmmo = countAmmo - 1;
if (countAmmo <= 10){
    myObject.SetActive(true);
} else {
    myObject.SetActive(false);
}

首先尝试从事件本身中删除 countAmmo=10;countAmmo=0;。并像这样更改函数:

 if(Input.GetButtonDown("Fire1") && (countAmmo >0))  

     countAmmo -= 1;

     if(countAmmo == 0){         
        myObject.SetActive(false);    
     }else{
        myObject.SetActive(true);
     } 
 }