2014-12-14 2 views
0

Unity3d에서 2d 게임을 만들고 있는데 BoxCollider2Dsize.x 값이 필요합니다. 문서에서 말한 것처럼, size = BoxCollider2D.size.x으로 상자 크기를 얻을 수는 있지만 작동하지 않습니다! 콘솔에 An object reference is required to access non-static member 'UnityEngine.BoxCollider2D.size'이라고 표시됩니다. 대문자를 작게 변경하려고 시도했습니다. GetComponent 메서드를 사용하려고했습니다. 구성 요소 변수를 만들고 속성 관리자에서 정의하려고했습니다. 그것들 모두는 효과가 없습니다. 도와주세요!Unity3d가 BoxCollider2D.size.x 값을 얻었습니다.

답변

0

BoxCollider2D 구성 요소에 대한 참조가 필요합니다. 예 :

var size = GetComponent<BoxCollider2D>().size.x;

+0

이 답변은 스크립트가'BoxCollider2D'를 포함하는'GameObject'에 첨부되어있는 한 작동합니다. – FunctionR

0

당신은 GameObject 또는 BoxCollider2D 포함의 Collider에 대한 참조가 필요합니다. 참조가 있으면 기본적으로 BoxCollider2D에 액세스 할 수 있습니다.

BoxCollider2D col = gameObject.collider2D as BoxCollider2D; 
int x = col.size.x; 

당신은 GetComponent()를 사용할 수 있지만 당신은 ContingencyCoder에 의해 답이 언급하는 데 실패 필요한 GameObject을, 일단 그 과잉이다.

관련 문제