2015-01-25 5 views
-3

내 프로젝트의 다른 스크립트에서 변수를 참조하려고하면 "Operator '>'유형을 'MoveBlueCannon2'및 'int'피연산자에 적용 할 수 없습니다."라는 오류 메시지가 나타납니다.다른 스크립트 참조

void Update() 
{ 
    MoveBlueCannon2 BasicAmmoBlue = GetComponent<MoveBlueCannon2>(); 

    if (BasicAmmoBlue > 0) 
    { 
     print ("1"); 
    } 

아이디어 : 여기

내 코드?

+1

BasicAmmoBlue가 null이 아닌지 확인하려는 경우'if (BasicAmmoBlue! = null)'을 사용하십시오. –

+0

여전히 print 문을 표시하지 않습니다. MoveBlueCannon2 스크립트에서 BasicAmmoBlue라는 public static float를 사용하고 있습니다. 다른 아이디어? –

답변

0

BasicAmmoBlue가 MoveBlueCannon2 유형의 객체에 지정되고 있습니다. 즉, 수치 형이 아니기 때문에 수학 연산을 수행 할 수 없다는 것을 의미합니다 (예 : int, float, double).

MoveBlueCannone2 스크립트에서 변수를 가져 오려면 BasicAmmoBlue.<yourvariable>으로 변수를 참조해야합니다. 선명도

편집 :

void Update() 
{ 
    MoveBlueCannon2 blueCannon = GetComponent<MoveBlueCannon2>(); 

    if (blueCannon.BassicAmmoBlue > 0) 
    { 
     print ("1"); 
    } 
} 

당신은 BassicAmmoBlue 변수가 공개되어 있는지 확인하거나 BassicAmmoBlue의 값을 반환 할 수있는 public 메소드를 작성해야합니다.

+0

이 작업을 수행하면 오류가 많이 발생합니다. 여기에 내 코드가있다 :'\t \t BasicAmmoBlue. ; \t \t 경우 (BasicAmmo = 널!) \t \t { \t \t \t 인쇄 ("1");'내가이 해제되어 있어야합니다 죄송합니다 –

+0

에서, <> 비트를 포함 할 필요가 없습니다. 나는 너에게 조금 더 나은 것을 보여주기 위해 나의 대답을 편집하고있다. –

+0

나는 이것을 이해할 수 없다. 내가하고 싶은 일과 내 코드가 어떻게 설정되어 있는지 다시 말하려고 노력할 것입니다. MoveBlueCannon2라는 스크립트가 있습니다. 이 스크립트에는 BasicAmmoBlue라는 변수가 있습니다. 이 변수가 0 이상이면, BlueAmmoCount 스크립트를 사용하고 싶습니다 (이 스크립트의 샘플은 내가 게시 한 첫 번째 비트 코드입니다). 함수를 수행합니다 (여기는 print 문입니다). 또한,'BasicAmmoBlue.yourVariable'을 넣어야한다고 언급했는데, 여전히이 변수가 적용되면 어떤 스크립트에서이 변수를 선언하겠습니까? –