Modificadores de tamaño y restricciones

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Al lado del tamaño básico de objetos de interfaz de usuario, puedes utilizar modificadores de tamaño para escalar un objeto proporcionalmente o automáticamente cambiar el tamaño .También puedes insertar restricciones de tamaño para controlar la proporción de aspecto o establecer un mínimo y un máximo de tamaño o tamaño de texto .

Escala

Un objeto UIScale almacena un valor numérico que multiplica la propiedad AbsoluteSize del padre GuiObject.Por ejemplo, si quieres que un objeto sea el doble de grande que es actualmente, puedes insertar un objeto UIScale con una propiedad Scale de 2.

Este modificador es útil para "acercarse" durante el diseño de una interfaz de usuario detallada en Studio, ya que escala proporcionalmente el objeto y todos sus hijos, incluidos cualquier modificador de apariencia aplicado como o .También es útil reducir el tamaño de un objeto, por ejemplo, para aumentar ligeramente el tamaño de un botón cuando un jugador pasa el mouse sobre él.

Tamaño automático

La propiedad AutomaticSize resiza automáticamente un padre GuiObject al tamaño de sus descendientes.Puedes usar esta propiedad en una variedad de casos, incluyendo:

  • Expandir un GuiObject para que encaje el texto que se ha localizado en muchos idiomas.
  • Permitir a los usuarios escribir texto dentro de un TextBox, ajustando automáticamente su tamaño en función de la cantidad de texto ingresado.
  • Ajustando automáticamente el tamaño de los objetos de texto utilizando marcado de texto enriquecido, incluido el tipo y el tamaño de la fuente.

Puedes habilitar la propiedad AutomaticSize para cualquier GuiObject.Por defecto, está configurado a None , pero puedes cambiar su valor para tener un control específico sobre qué dirección(es) el GuiObject se reduce para adaptarse a su contenido.

Para habilitar el tamaño automático:

  1. En la ventana Explorador, haga clic en cualquier GuiObject, como un Frame, TextBox o ImageLabel.

  2. En la ventana Propiedades, navegue hasta la propiedad AutomaticSize (AutomaticCanvasSize para ScrollingFrame) y establezca una de las siguientes opciones:

    • X — Redimensiona el contenido horizontalmente.
    • Y — Redimensiona el contenido verticalmente.
    • XY — Redimensiona el contenido tanto horizontal como verticalmente.

Una vez que se establecerel tamaño automático, tenga en cuenta que las propiedades de otros objetos se comportan de la siguiente manera:

Al igual que el concepto de dimensionamiento de un objeto, AutomaticSize toma en consideración la propiedad AnchorPoint al cambiar el tamaño del contenido.Por ejemplo, el siguiente video muestra tres TextLabels que se redimensionan automáticamente desde su punto de anclaje.

  • La etiqueta superior tiene un valor de AnchorPoint de (0, 0.5) que la ancla en el medio del lado izquierdo.
  • La etiqueta del medio tiene un valor de AnchorPoint de (0.5, 0.5) que lo ancla al centro.
  • La etiqueta inferior tiene un valor de AnchorPoint de (1, 0.5) que la ancla en el medio del lado derecho.

Limitaciones

Hay tres tipos de restricciones que puedes usar para un objeto de interfaz de usuario: tamaño , tamaño del texto y relación de aspecto .Para usar una restricción, debes establecerla como un hijo de la GuiObject que quieres restringir.

Tamaño

El UISizeConstraint especifica un tamaño mínimo y máximo para un GuiObject .Esta restricción garantiza que el GuiObject no se vuelva demasiado pequeño o grande en diferentes tamaños de pantalla.

Por ejemplo, si estableces la propiedad MinSize a (200, 200) y la propiedad MaxSize a (400, 400) , la GuiObject no se puede escalar a menos de 200×200 píxeles o más de 400×400 píxeles.

Tamaño del texto

El UITextSizeConstraint especifica un tamaño mínimo y máximo de fuente para un GuiObject con texto, como un TextLabel , TextButton o TextBox .Esta restricción garantiza que el texto dentro de un no se vuelva ilegible o demasiado grande.

Si habilitas la propiedad TextScaled de la padre GuiObject, el tamaño del texto se escala con el tamaño del contenedor y respeta las restricciones incluso si el objeto se vuelve más pequeño o más grande que los valores MinTextSize y MaxTextSize.

Por ejemplo, el siguiente objeto TextLabel tiene un UITextSizeConstraint con un valor de MinTextSize de 50 y un valor de 80 de MaxTextSize.Incluso cuando el TextLabel se vuelve más pequeño, la fuente nunca se vuelve más pequeña que 50 píxeles, y cuando el objeto se vuelve grande, la fuente siguiente supera los 80 píxeles.

Relación de aspecto

El obliga a una relación de aspecto de ancho a altura en un independientemente de su tamaño principal, incluso si ese tamaño se establece como un porcentaje de su padre.Por ejemplo, insertar esta restricción como hija de una Frame y establecer la propiedad de la restricción AspectRatio a 2 ( 2:1 ) mantiene el ancho del marco en el doble de su altura.Del mismo modo, establecer la propiedad AspectRatio de esta restricción a 0.5 ( 0.5:1 ) mantiene la anchura del marco a la mitad de su altura.

Establecer esta restricción de AspectRatio a la predeterminada de 1 ( 1:1 ) es una manera conveniente de evitar la escalada/estiramiento desproporcional de un ImageLabel con un recurso de imagen cuadrada, como una miniatura de avatar .