Mobile 用布尔控制销毁对象
我在unity教程中找到了一个点击对象的按钮,并尝试为destroy对象添加一些代码 我的问题是当我尝试点击计数器递减和布尔值更改false时。 但若我继续敲击目标,敌人仍会摧毁 如何更正代码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
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
谢谢你,只要两个花括号。我怎么能忘记他们: