UIDragDetector
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
La instancia UIDragDetector facilita y alienta la interacción con elementos de interfaz de usuario 2D en una experiencia, como deslizadores y giradores.Las características clave incluyen:
Coloca un UIDragDetector bajo cualquier instancia GuiObject para hacerla arrastrable a través de todos los inputs sin una sola línea de código.
Elige entre varias opciones DragStyle , define cómo responde el objeto a la movilidad a través de ResponseStyle , y aplica opcionalmente límites de eje, movimiento o bordes de arrastre.
Los scripts pueden responder a la manipulación de objetos arrastrados para impulsar respuestas lógicas, como ajustar configuraciones.
UIDragDetectors trabaja en Studio mientras tengas no usando las herramientas Seleccionar , Mover , Escalar o Rotar , ni ciertas herramientas de plugin o del editor de Studio de UI .
Resumen
Propiedades
Establece el icono del cursor para mostrar cuando el mouse está activado sobre el padre de este UIDragDetector .
Determina el comportamiento de encuadre del objeto de interfaz de usuario arrastrado cuando se establece el BoundingUI del detector.
Instancia cuya área de límite define los límites de arrastre para el padre GuiObject.
Establece el icono del cursor para mostrar cuando el mouse se desplaza sobre el padre de este UIDragDetector .
El eje de arrastre para la instancia UIDragDetector cuando DragStyle está configurado como Enum.UIDragDetectorDragStyle.TranslateLine .
Establece el paradigma que define la relatividad de las entradas/salidas desde una función de arrastre personalizada.
La rotación realizada por el arrastre actual.
Establece el paradigma que define el espacio de entradas/salidas desde una función de arrastre personalizada.
El paradigma utilizado para generar la propuesta de movimiento.
La traducción realizada por el arrastre actual expresada en un valor UDim2 .
Si el UIDragDetector responde a la entrada del usuario.
Junto con MinDragAngle, impide las intentos del detector de generar movimiento rotatorio.
Junto con MinDragTranslation, impide las intentos del detector de generar movimiento lineal/plano.
Junto con MaxDragAngle, impide las intentos del detector de generar movimiento rotatorio.
Junto con MaxDragTranslation, impide las intentos del detector de generar movimiento lineal/plano.
Una instancia GuiObject que su espacio local y posición de centro absoluto es el espacio de referencia y el origen para el detector.
El paradigma utilizado para definir la respuesta a la moción propuesta.
Velocidad máxima de arrastre para la traducción.
Ángulo máximo por segundo que el UIDragDetector puede girar.
Enum.UIDragSpeedAxisMapping valor que determina las velocidades de arrastre de la dimensión X / Y .
Métodos
Añade una función para modificar o limitar el movimiento propuesto.
Devuelve la posición de referencia UDim2 de la posición de referencia actual del arrastre.
Devuelve la rotación de referencia del elemento de referencia del arrastre actual.
Pasa una función para usar si y solo si DragStyle está configurado como Enum.UIDragDetectorDragStyle.Scriptable.
Eventos
Se enciende cuando un usuario continúa arrastrando el elemento de la interfaz de usuario después de que DragStart se haya iniciado.
Se activa cuando un usuario deja de arrastrar el elemento de la interfaz de usuario.
Se activa cuando un usuario comienza a arrastrar el elemento de la interfaz de usuario.
Propiedades
ActivatedCursorIcon
Establece el icono del cursor para mostrar cuando el mouse está activado sobre el padre de este UIDragDetector .Si esta propiedad se deja en blanco, el detector usará el icono predeterminado.
Para cambiar el icono del cursor activado, establece esta propiedad en el ID de activo de la imagen que te gustaría usar.
BoundingBehavior
Determina el comportamiento de contención del objeto de interfaz de usuario arrastrado cuando se establece el BoundingUI del detector. Vea Enum.UIDragDetectorBoundingBehavior para detalles sobre el comportamiento de cada configuración.
BoundingUI
Cuando se establece, la instancia UIDragDetector no permitirá que los límites del padre GuiObject se arrastren fuera de los límites de la instancia BoundingUI .
Tenga en cuenta que si una parte del padre GuiObject está fuera de los límites de BoundingUI , la posición de entrada inicial al arrastrar y su posición relativa durante el arrastre se usará para la detección de vínculos hasta que toda la entidad arrastrada esté dentro de los límites, después de lo cual el objeto se limitará dentro de los límites.
CursorIcon
Establece el icono del cursor para mostrar cuando el mouse se desplaza sobre el padre de este UIDragDetector .Si esta propiedad se deja en blanco, el detector usará el icono predeterminado.
Para cambiar el icono del cursor, establece esta propiedad en el ID de activo de la imagen que te gustaría usar.
DragAxis
Vector2 valor que define el eje de movimiento para el objeto arrastrado cuando DragStyle se establece en Enum.UIDragDetectorDragStyle.TranslateLine.El eje se define en el espacio local del UIDragDetector a menos que se defina ReferenceUIInstance, en cuyo caso el eje se define en el espacio local de esa instancia.
DragRelativity
Solo se aplica si se registra una función de arrastrado personalizada a través de SetDragStyleFunction() o AddConstraintFunction() .Establece el paradigma que define la relatividad de las entradas/salidas de la función registrada.
Por ejemplo, devolver un de una función registrada con esta propiedad establecida a moverá el padre del detector a en el destinado , mientras que devolver el mismo con esta propiedad establecida a moverá el padre del detector a por en el destinado .
DragRotation
La rotación realizada por el arrastre actual.Este valor se define en grados con respecto al espacio local del UIDragDetector a menos que se defina ReferenceUIInstance , en cuyo caso la rotación se define en el espacio local de esa instancia y desde su eje positivo X .
Esta propiedad se puede cambiar mientras no hay ningún arrastre activo para girar el objeto arrastrado.
DragSpace
Solo se aplica si se registra una función de arrastrado personalizada a través de SetDragStyleFunction() o AddConstraintFunction() .Establece el paradigma que define el espacio de las entradas/salidas de la función registrada.
Por ejemplo, si el padre del detector GuiObject es un hijo de un padre GuiObject que se ha girado:
Devolver un desde una función registrada con esta propiedad establecida en moverá al padre del detector a la derecha por 1 píxel en el espacio local afectado por la rotación de su padre.
Devolver un desde una función registrada con esta propiedad establecida en moverá al padre del detector a la derecha por 1 píxel en el espacio del .
DragStyle
El paradigma utilizado para generar la propuesta de movimiento, dado un flujo de vectores de posición de entrada. Vea Enum.UIDragDetectorDragStyle para las opciones.
DragUDim2
La traducción realizada por el arrastre actual expresada en un valor UDim2 .La traducción se realiza a través de Offset o Scale cambios de valor dependiendo del valor DragRelativity , y es relativa al espacio local del detector a menos que se defina un ReferenceUIInstance .
Esta propiedad se puede cambiar mientras no hay un arrastre activo para mover el objeto arrastrado.
MaxDragAngle
Si esta propiedad es mayor que MinDragAngle, la rotación se limitará dentro del rango de MinDragAngle y MaxDragAngle.Los valores positivos impiden la rotación en sentido horario mientras que los valores negativos impiden la rotación en sentido contrario.
Esto no es una restricción; simplemente impide que el detector realice intentos de generar movimiento para permanecer dentro de los límites.Vea AddConstraintFunction() para agregar una restricción personalizada a un arrastrado.
Solo es relevante si DragStyle es Enum.UIDragDetectorDragStyle.Rotate.
MaxDragTranslation
Si los valores correspondientes de Offset y/o Scale son mayores que los de MinDragTranslation en todas las dimensiones, la traducción lineal/plana se limitará dentro del rango de MinDragTranslation y MaxDragTranslation .
Esto no es una restricción; simplemente impide que el detector realice intentos de generar movimiento para permanecer dentro de los límites.Vea AddConstraintFunction() para agregar una restricción personalizada a un arrastrado.
Solo es relevante si DragStyle es Enum.UIDragDetectorDragStyle.TranslateLine o Enum.UIDragDetectorDragStyle.TranslatePlane .
MinDragAngle
Si esta propiedad es menos de MaxDragAngle , la rotación se limitará dentro del rango de MinDragAngle y MaxDragAngle .Los valores positivos impiden la rotación en sentido horario mientras que los valores negativos impiden la rotación en sentido contrario.
Esto no es una restricción; simplemente impide que el detector realice intentos de generar movimiento para permanecer dentro de los límites.Vea AddConstraintFunction() para agregar una restricción personalizada a un arrastrado.
Solo es relevante si DragStyle es Enum.UIDragDetectorDragStyle.Rotate.
MinDragTranslation
Si los valores correspondientes de Offset y/o Scale son inferiores a los de MaxDragTranslation en todas las dimensiones, la traducción lineal/plana se limitará dentro del rango de MinDragTranslation y MaxDragTranslation .
Esto no es una restricción; simplemente impide que el detector realice intentos de generar movimiento para permanecer dentro de los límites.Vea AddConstraintFunction() para agregar una restricción personalizada a un arrastrado.
Solo es relevante si DragStyle es Enum.UIDragDetectorDragStyle.TranslateLine o Enum.UIDragDetectorDragStyle.TranslatePlane .
ReferenceUIInstance
Una instancia GuiObject que su espacio local y posición de centro absoluto es el espacio de referencia y el origen para el detector.Establecer esta referencia afecta propiedades como DragUDim2 , DragRotation y el comportamiento de DragAxis .
ResponseStyle
Una vez que se haya calculado y potencialmente restringido la moción propuesta, se usa este paradigma para determinar cómo mover (o no mover) al GuiObject afectado por el UIDragDetector .Vea Enum.UIDragDetectorResponseStyle para opciones.
SelectionModeDragSpeed
Define la velocidad máxima de arrastre para la traducción como una combinación de y del primer ancestro o al que pertenece.Este valor debe ser positivo y cualquier valor por debajo de 0 se clamará a 0 .
SelectionModeRotateSpeed
Define el ángulo máximo por segundo en el que el UIDragDetector puede girar.Este valor debe ser positivo y cualquier valor por debajo de 0 se clamará a 0 .
UIDragSpeedAxisMapping
Enum.UIDragSpeedAxisMapping valor que determina las velocidades de arrastre de la dimensión X / Y .
Métodos
AddConstraintFunction
Añade una función para modificar o limitar el movimiento propuesto.La función toma una entrada UDim2 (posición) y flota (rotación) de propuesta moción y devuelve una entrada UDim2 y flota de modificada o no modificada moción.Puedes agregar múltiples funciones que se llamarán en orden por priority , pasando los resultados en una cadena.
La entrada se expresa en el espacio definido por la propiedad DragSpace, ya sea como un delta o la posición/rotación final deseada basada en la propiedad DragRelativity.La salida debe expresarse en el mismo espacio y relatividad, a menos que se anule al devolver un valor de retorno especificado Enum.UIDragDetectorDragRelativity y Enum.UIDragDetectorDragSpace como los terceros y cuartos valores de devolución.
Para eliminar una función de restricción agregada, llame a Disconnect() en el objeto de conexión devuelto.
Parámetros
El orden de prioridad para las funciones agregadas a través de este método. Los valores más altos tienen precedencia sobre los valores más bajos.
Función para modificar o limitar la propuesta de movimiento.Esta función recibe la entrada UDim2 e ingresa la moción propuesta **** y la flotante de UDim2 o la flotante de modificada o no modificada.Puede devolver opcionalmente un Enum.UIDragDetectorDragRelativity y Enum.UIDragDetectorDragSpace como los terceros y cuartos valores de devolución como anulaciones de salida.
Devuelve
Usa este objeto de conexión para eliminar la función de restricción.
GetReferencePosition
Cuando no se establece ningún ReferenceUIInstance, esta función devuelve la posición de UDim2 del padre inmediato del objeto arrastrado GuiObject (si existe uno), o la posición de UDim2 del objeto arrastrado.
Cuando se establece un ReferenceUIInstance, esta función devuelve la posición UDim2 de esa instancia de referencia.
Devuelve
GetReferenceRotation
Cuando no se establece ningún ReferenceUIInstance, esta función devuelve la rotación del padre inmediato del objeto arrastrado GuiObject (si existe uno), o la rotación del objeto arrastrado.
Cuando se establece un ReferenceUIInstance, esta función devuelve la rotación de esa instancia de referencia.
Devuelve
Rotación del elemento de referencia de la actual arrastrada.
SetDragStyleFunction
Pasa una función para usar si y solo si DragStyle está configurado como Enum.UIDragDetectorDragStyle.Scriptable.La función dada recibe la posición de entrada del espacio de pantalla de la señal con el tipo Vector2 , y devuelve una posición UDim2 (posición) y un flotante (rotación) que contiene el movimiento deseado del arrastre.El espacio de los valores de devolución y la relatividad del movimiento se determinan por las propiedades DragSpace y DragRelativity, a menos que se anulen al devolver un valor de devolución específico Enum.UIDragDetectorDragRelativity y Enum.UIDragDetectorDragSpace como los terceros y cuartos valores de devolución.
Si la función devuelve nil, el objeto no se moverá.Esto es útil si el script aún no ha recopilado toda la información que necesita para dar la respuesta correcta, o en casos temporales en los que quieres que el objeto se quede donde está.
Parámetros
Función para monitorear señales DragContinue de alerta.Esta función recibe la posición de entrada del espacio de pantalla de la señal y devuelve un UDim2 y flotante que contiene el movimiento deseado del arrastre en el espacio deseado y la relatividad.Si esta función devuelve nil , el objeto no se moverá.
Devuelve
Eventos
DragContinue
Se enciende cuando un usuario continúa arrastrando el elemento de la interfaz de usuario después de que DragStart se haya iniciado.
Parámetros
DragEnd
Se activa cuando un usuario deja de arrastrar el elemento de la interfaz de usuario.