2015-04-24 12 views

Trả lời

9

yourRectTransform.rect.center cho điểm trung tâm trong không gian địa phương.

yourRectTransform.TransformPoint để chuyển đổi thành không gian thế giới.

Thật kỳ lạ là RectTransform.GetWorldCorners không hoạt động như đã nêu. Tôi tự hỏi nếu có một vấn đề khác ở đây.

+0

Thx Huacanacha. Chính xác những gì tôi cần –

+0

Tôi đã tìm kiếm rất nhiều giờ để tìm 'yourRectTransform.TransformPoint (Vector3)' .... Cảm ơn rất nhiều! – Kursion

+0

thực sự, tôi không thể có được 'RectTransform.GetWorldCorners' để làm việc ở tất cả: dưới đây Kay báo cáo nó chỉ có vẻ như làm việc nếu vải là không gian thế giới phong cách. – Fattie

1

Bạn có thể làm việc với GetWorldCorners nhưng chỉ khi sử dụng trẻ có kích thước thực. Tôi có những giá trị hợp lý cho một đứa trẻ của một không gian thế giới.

0

Tôi thấy rằng cả hai GetWorldCorners và TransformPoint chỉ làm việc vào Start(), không phải trên Awake(), như thể chúng tôi sẽ phải chờ đợi cho các nội dung được thay đổi kích cỡ

Vector3 min = referenceArea.rectTransform.TransformPoint(referenceArea.rectTransform.rect.min); 
    Vector3 max = referenceArea.rectTransform.TransformPoint(referenceArea.rectTransform.rect.max); 

    elementToResize.transform.localScale = new Vector3(Mathf.Abs(min.x - max.x) , Mathf.Abs(min.y - max.y), 1f); 
    elementToResize.transform.position = referenceArea.rectTransform.TransformPoint(referenceArea.rectTransform.rect.center); 
Các vấn đề liên quan