2015-01-06 1 views
1

GetComponent (GUIText)에 오류가 발생했습니다.Unity GetComponent (GUIText) 버그?

"####### 카운터 (클론)"게임 개체에 'GUIText'가 붙지 않지만 스크립트는 다음과 같습니다. 그것을 액세스하려고합니다.

var UItecxt = GameObject.Find("#######COUNTER(Clone)"); 
var txtconvert = UItecxt.GetComponent(GUIText); 
print(txtconvert); 
txtconvert.text = counternumb.ToString(); 

내 복제에 GUIText 있습니다

여기 내 코드입니다! 이슈가 뭐야? 감사!

답변

0

게임 제목이"#######COUNTER(Clone)"인데 문제가 있습니다. 아래 코드를 실행하면 알 수 있습니다.

var UItecxt = GameObject.Find("#######COUNTER(Clone)"); 
var txtconvert : GUIText; 

if(UItecxt != null) 
    txtconvert = UItecxt.GetComponent(GUIText); 

else 
    Debug.Log("There was no GameObject with the name '#######COUNTER(Clone)' in the scene"); 

수정하려면 해당 이름이 GameObject인지 확인하십시오.

+0

실제로 Gameobject라는 게임 개체가 있는데 찾아냅니다. 그러나 다시 나는 "COUNTER"게임 개체에 'GUIText'가 붙어 있지 않지만 스크립트에 액세스하려고 시도하는 중 오류가 발생합니다. " – Hudson

+0

코드 : function Update() { var UIttecxt = GameObject.FindWithTag ("COUNTER"); var txttconvert : GUIText; print (UIttecxt); if (UIttecxt! = null) { txttconvert = UIttecxt.GetComponent (GUIText); txttconvert.text = counternumb.ToString(); } else { Debug.Log ("게임에 'COUNTER'라는 이름이 없습니다.); } – Hudson

+0

'GetComponent()'는 'Component'를 찾거나 그렇지 않습니다. 마법은 없습니다. 그래서 당신이 정말로 당신의'Counter '에 붙어 있는지 확인해야합니다. – FunctionR

0

질문의 세부 사항으로 문제를 확인할 수 없습니다.

여전히, 당신이 언급 한 게임 개체는 사용자가 만든 프리 프레임이어야한다고 가정했습니다.

sciprt를 넣거나 부착하는 곳은 어디입니까? 인스턴스화 한 프리 패브 (prefab)에 연결되어 있는지 확인하십시오.

또한 gameobject.Find를 사용하는 대신 구성 요소를 직접 참조 할 수 있습니다. 속성에서 요소를 드래그 앤 드롭하는 것이 더 쉽습니다.

+0

그렇습니다. 인스턴스화 된 Gameobject입니다. 그러나이 스크립트를 객체에 첨부하고 싶지 않습니다. 모든 im은 GUI 텍스트가 첨부되어 있지 않다는 이유가 있습니다. – Hudson

+0

이것은 내가 문제가있는 코드입니다 : var txtconvert = UItecxt.GetComponent (GUIText); – Hudson

+0

UItext에서 원하는 게임 개체를 찾았습니까? – Kai