위젯의 크기
UISprite spr = <NGUI Sprite Widget>.GetComponent<UISprite>(); UISpriteData spr_data = spr.GetAtlasSprite(); Rect inner_uv = new Rect(); inner_uv.Set( spr_data.x + spr_data.borderLeft, spr_data.y + spr_data.borderTop, spr_data.width - spr_data.borderLeft - spr_data.borderRight, spr_data.height - spr_data.borderBottom - spr_data.borderTop); Debug.Log( string.Format("inner_uv{0} position{1} localPos{2} drawingDimensions{3} drawRegion{4} localScale{5} lossyScale{6}", inner_uv.ToString(), pivot2DObj.transform.position.ToString(), // position : 유니티 뷰포트 단위 pivot2DObj.transform.localPosition.ToString(), // 픽셀 단위 spr.drawingDimensions.ToString(), // 위젯의 크기 (픽셀 단위) spr.drawRegion.ToString(), // 그릴 텍스쳐의 좌표. 텍스쳐 UV pivot2DObj.transform.localScale.ToString(), // 유니티의 스케일 단위. 기본 (1,1,1) pivot2DObj.transform.lossyScale.ToString() // 0! ));
결과
inner_uv(x:153.00, y:39.00, width:8.00, height:8.00) position(0.0, -100.5, 0.0) localPos(0.0, -240.0, 0.0) drawingDimensions(-300.0, -240.0, 300.0, 240.0) drawRegion(0.0, 0.0, 1.0, 1.0) localScale(1.0, 1.0, 1.0) lossyScale(0.0, 0.0, 0.0)