2014-09-17 3 views
0

개체 튜토리얼에서 탭을 발견하고 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; 

} 

답변

0

당신은 아마 당신의 if 문에 괄호를 놓치고 : 당신이 실행하는 경우

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

counter -= 1은 if 문 안에있을 것입니다. DestroyEnemy()Check()destroy 값에 관계없이 탭할 때마다 실행됩니다. 다차원 if 문에 대해 괄호를 지정하십시오.

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

고마워요, 단지 두 개의 중괄호입니다. 어떻게 내가 그들을 잊을 수 있었는지 :) – yatagac