2015-04-24 4 views

risposta

9

yourRectTransform.rect.center per il punto centrale nello spazio locale.

yourRectTransform.TransformPoint per convertire nello spazio mondiale.

È strano che RectTransform.GetWorldCorners non funzioni come indicato. Mi chiedo se c'è un altro problema qui.

+0

Thx Huacanacha. Esattamente quello che mi serve –

+0

Ho cercato così tante ore per trovare 'yourRectTransform.TransformPoint (Vector3)' .... Grazie mille! – Kursion

+0

infatti, non riesco a far funzionare 'RectTransform.GetWorldCorners': al di sotto di Kay sembra che funzioni solo se la tela è uno stile di spazio mondiale. – Fattie

1

È possibile lavorare con GetWorldCorners ma solo quando si utilizza un bambino con dimensioni reali. Ho ottenuto valori ragionevoli per un bambino di una tela spaziale mondiale.

0

ho scoperto che entrambi i GetWorldCorners e transformPoint funziona solo su Start(), non su Awake(), come se dovremo aspettare per il contenuto a essere ridimensionato

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); 
Problemi correlati