Unity obtiene el método de ancho de texto del componente Text

Primero agregue un componente ContentSizeFitter en Text y luego seleccione la propiedad Ajuste horizontal como Tamaño preferido. (Este representante se adaptará al ancho real)

Puede ver que la propiedad Ancho de RectTransform se vuelve gris en este momento. Puede intentar modificar el contenido del texto mostrado y el ancho del texto cambiará automáticamente con la longitud del texto.

En este momento, el sizeDelta.x de RectTransform obtenido a través de la secuencia de comandos es el ancho del texto en este momento. Cuando solo agrega a la escena y modifica el contenido del texto, primero debe llamar a SetLayoutHorizontal de ContentSizeFitter , de modo que el ancho se actualice en tiempo real, de lo contrario, el ancho puede obtenerse incorrectamente.

this.fitter.SetLayoutHorizontal();
RectTransform rect = this.text.GetComponent<RectTransform>();
Debug.Log("width is " + rect.sizeDelta.x);

Una cosa a tener en cuenta es que si desea obtener el ancho correcto, debe asegurarse de que el atributo activo del nodo Texto y todos sus nodos antepasados ​​sea verdadero; de lo contrario, el ancho será 0.

Supongo que te gusta

Origin blog.csdn.net/shaobing32/article/details/122970292
Recomendado
Clasificación