UIDragDetector
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
L'instance UIDragDetector facilite et encourage l'interaction avec les éléments d'interface utilisateur 2D dans une expérience, tels que les curseurs et les rotateurs.Les caractéristiques clés incluent :
Placez un UIDragDetector sous n'importe quelle instance GuiObject pour la rendre glissable via toutes les entrées sans une seule ligne de code.
Choisissez parmi plusieurs options DragStyle , définissez la façon dont l'objet répond à la mobilité via ResponseStyle , et appliquez facultativement des axes, des limites de mouvement ou des limites de glissement.
Les scripts peuvent répondre à la manipulation d'objets glissés pour déclencher des réponses logiques, telles que l'ajustement des paramètres.
travaillez dans Studio aussi longtemps que vous n'êtes pas pas utilisant le Sélectionnez , déplacer , échelle ou tourner les outils, ni certains plugins ou outils d'éditeur de l'interface utilisateur de Studio.
Résumé
Propriétés
Définit l'icône du curseur à afficher lorsque la souris est activée sur le parent de cette UIDragDetector .
Détermine le comportement de bordure de l'objet UI dragué lorsque le détecteur de BoundingUI est configurer.
Instance dont la zone de bordure définit les limites de glissement pour le parent GuiObject.
Définit l'icône du curseur à afficher lorsque la souris se trouve au-dessus du parent de ce UIDragDetector .
L'axe de glissement pour l'instance UIDragDetector lorsque DragStyle est réglé sur Enum.UIDragDetectorDragStyle.TranslateLine .
Définit le paradigme qui définit la relativité des entrées/sorties d'une fonction de glisser personnalisée.
La rotation effectuée par le glisser actuel.
Définit le paradigme qui définit l'espace des entrées/sorties à partir d'une fonction de glisser personnalisée.
Le paradigme utilisé pour générer la motion proposée.
La traduction effectuée par le glisser-déposer actuel exprimé en un UDim2 valeur.
Si la UIDragDetector répond à l'entrée de l'utilisateur.
Avec MinDragAngle, empêche les tentatives du détecteur de générer un mouvement rotatif.
Avec MinDragTranslation, il empêche les tentatives du détecteur de générer des mouvements linéaires/planoires.
Avec MaxDragAngle, empêche les tentatives du détecteur de générer un mouvement rotatif.
Avec MaxDragTranslation, il empêche les tentatives du détecteur de générer des mouvements linéaires/planoires.
Une instance GuiObject dont l'espace local et la position du centre absolu sont l'espace de référence et l'origine du détecteur.
Le paradigme utilisé pour définir la réponse à la motion proposée.
Vitesse de glissement maximale pour la traduction.
Angle maximum par seconde que le UIDragDetector peut tourner.
Enum.UIDragSpeedAxisMapping valeur qui détermine les vitesses de glissement de la dimension X / Y .
Méthodes
Ajoute une fonction pour modifier ou restreindre la motion proposée.
Renvoie la position de référence UDim2 de l'origine de référence de la traînée actuelle.
Retourne la rotation de référence de l'élément de référence du glisser actuel.
Passe une fonction à utiliser si et seulement si DragStyle est défini sur Enum.UIDragDetectorDragStyle.Scriptable.
Évènements
S'enflamme lorsqu'un utilisateur continue de faire glisser l'élément d'interface utilisateur après que DragStart ait été initié.
S'enflamme lorsqu'un utilisateur arrête de faire glisser l'élément d'interface utilisateur.
S'allume lorsqu'un utilisateur commence à faire glisser l'élément d'interface utilisateur.
Propriétés
ActivatedCursorIcon
Définit l'icône du curseur à afficher lorsque la souris est activée sur le parent de cette UIDragDetector .Si cette propriété est laissée vide, le détecteur utilisera l'icône par défaut.
Pour changer l'icône de curseur activée, définissez cette propriété sur l'ID de la ressource de l'image que vous souhaitez utiliser.
BoundingBehavior
Détermine le comportement de bordure de l'objet d'interface utilisateur traîné lorsque le détecteur de BoundingUI est configurer. Voir Enum.UIDragDetectorBoundingBehavior pour les détails du comportement de chaque paramètre.
BoundingUI
Lorsqu'il est configurer, l'instance UIDragDetector ne permettra pas aux limites du parent GuiObject d'être déplacées en dehors des limites de l'instance BoundingUI .
Notez que si une partie de la partie parent GuiObject est en dehors des limites de l'interface utilisateur de bordure , la position d'entrée initiale au démarrage du glissement et sa position relative pendant le glissement sera utilisée pour la détection des limites jusqu'à ce que toute la partie du objet glissé soit dans les limites, après quoi l'objet sera contraint à l'intérieur des limites.
CursorIcon
Définit l'icône du curseur à afficher lorsque la souris se trouve au-dessus du parent de ce UIDragDetector .Si cette propriété est laissée vide, le détecteur utilisera l'icône par défaut.
Pour changer l'icône du curseur, définissez cette propriété sur l'ID de la ressource de l'image que vous souhaitez utiliser.
DragAxis
Vector2 valeur qui définit l'axe de déplacement pour l'objet glissé lorsque DragStyle est réglé sur Enum.UIDragDetectorDragStyle.TranslateLine.L'axe est défini dans l'espace local de la UIDragDetector à moins que ReferenceUIInstance ne soit défini, auquel cas l'axe est défini dans l'espace local de cette instance.
DragRelativity
S'applique uniquement si une fonction de glisser personnalisée est enregistrée via SetDragStyleFunction() ou AddConstraintFunction() .Définit le paradigme qui définit la relativité des entrées/sorties de la fonction enregistrée.
Par exemple, le retour d'un à partir d'une fonction enregistrée avec cette propriété définie à déplacera le parent du détecteur à dans le répertoire désigné, alors que le retour du même avec cette propriété définie à déplacera le parent du détecteur à dans le répertoire désigné.
DragRotation
La rotation effectuée par le glisser actuel.Cette valeur est définie en degrés par rapport à l'espace local du UIDragDetector à moins que ReferenceUIInstance ne soit définie, dans lequel la rotation est définie dans l'espace local de cette instance et à partir de son axe positif X .
Cette propriété peut être modifiée pendant qu'il n'y a pas de déplacement actif pour faire pivoter l'objet dragué.
DragSpace
S'applique uniquement si une fonction de glisser personnalisée est enregistrée via SetDragStyleFunction() ou AddConstraintFunction() .Définit le paradigme qui définit l'espace des entrées/sorties de la fonction enregistrée.
Par exemple, si le parent du détecteur GuiObject est un enfant d'un parent GuiObject qui a été roté :
Le retour d'un à partir d'une fonction enregistrée avec cette propriété définie à déplacera le parent du détecteur à droite de 1 pixel dans l'espace local affecté par la rotation de son parent.
Le retour d'un à partir d'une fonction enregistrée avec cette propriété définie à déplacera le parent du détecteur à droite de 1 pixel dans l'espace du .
DragStyle
Le paradigme utilisé pour générer la motion proposée, donné un flux de vecteurs de position d'entrée. Voir Enum.UIDragDetectorDragStyle pour les options.
DragUDim2
La traduction effectuée par le glisser-déposer actuel exprimé en un UDim2 valeur.La traduction est effectuée via Offset ou Scale les modifications de valeur selon la valeur DragRelativity et elle est relative à l'espace local du détecteur à moins qu'une ReferenceUIInstance ne soit définie.
Cette propriété peut être modifiée alors qu'il n'y a pas de déplacement actif pour déplacer l'objet glissé.
Enabled
Si true , le UIDragDetector répond à l'entrée de l'utilisateur ; si false , il ne le fait pas.
MaxDragAngle
Si cette propriété est supérieure à MinDragAngle, la rotation sera comprise dans la plage de MinDragAngle et MaxDragAngle.Les valeurs positives empêchent la rotation vers la gauche alors que les valeurs négatives empêchent la rotation vers la droite.
Ce n'est pas une contrainte ; il n'empêche simplement pas les tentatives du détecteur de générer des mouvements afin de rester dans les limites.Voir AddConstraintFunction() pour ajouter une contrainte personnalisée à un glisser.
Seulement pertinent si DragStyle est Enum.UIDragDetectorDragStyle.Rotate.
MaxDragTranslation
Si les valeurs correspondantes Offset et/ou Scale sont supérieures à celles de MinDragTranslation dans toutes les dimensions, la traduction linéaire/planaire sera comprise dans la plage de MinDragTranslation et MaxDragTranslation .
Ce n'est pas une contrainte ; il n'empêche simplement pas les tentatives du détecteur de générer des mouvements afin de rester dans les limites.Voir AddConstraintFunction() pour ajouter une contrainte personnalisée à un glisser.
Seulement pertinent si DragStyle est Enum.UIDragDetectorDragStyle.TranslateLine ou Enum.UIDragDetectorDragStyle.TranslatePlane .
MinDragAngle
Si cette propriété est inférieure à MaxDragAngle, la rotation sera comprise dans la plage de MinDragAngle et MaxDragAngle.Les valeurs positives empêchent la rotation vers la gauche alors que les valeurs négatives empêchent la rotation vers la droite.
Ce n'est pas une contrainte ; il n'empêche simplement pas les tentatives du détecteur de générer des mouvements afin de rester dans les limites.Voir AddConstraintFunction() pour ajouter une contrainte personnalisée à un glisser.
Seulement pertinent si DragStyle est Enum.UIDragDetectorDragStyle.Rotate.
MinDragTranslation
Si les valeurs correspondantes Offset et/ou Scale sont inférieures à celles de MaxDragTranslation dans toutes les dimensions, la traduction linéaire/planaire sera comprise dans la plage de MinDragTranslation et MaxDragTranslation .
Ce n'est pas une contrainte ; il n'empêche simplement pas les tentatives du détecteur de générer des mouvements afin de rester dans les limites.Voir AddConstraintFunction() pour ajouter une contrainte personnalisée à un glisser.
Seulement pertinent si DragStyle est Enum.UIDragDetectorDragStyle.TranslateLine ou Enum.UIDragDetectorDragStyle.TranslatePlane .
ReferenceUIInstance
Une instance GuiObject dont l'espace local et la position du centre absolu sont l'espace de référence et l'origine du détecteur.Définir cette référence affecte des propriétés telles que DragUDim2 , DragRotation et le comportement de DragAxis .
ResponseStyle
Une fois que la motion proposée a été calculée et potentiellement restreinte, ce paradigme est utilisé pour déterminer comment déplacer (ou ne pas mouvement) le GuiObject affecté par le UIDragDetector .Voir Enum.UIDragDetectorResponseStyle pour les options.
SelectionModeDragSpeed
Définit la vitesse de trascitation maximale pour la traduction comme une combinaison de et de l'ancêtre premier ou auquel appartient.Cette valeur doit être positive et toute valeur inférieure à 0 sera clampée à 0 .
SelectionModeRotateSpeed
Définit l'angle maximum par seconde auquel le UIDragDetector peut tourner.Cette valeur doit être positive et toute valeur inférieure à 0 sera clampée à 0 .
UIDragSpeedAxisMapping
Enum.UIDragSpeedAxisMapping valeur qui détermine les vitesses de glissement de la dimension X / Y .
Méthodes
AddConstraintFunction
Ajoute une fonction pour modifier ou restreindre la motion proposée.La fonction prend une entrée UDim2 (position) et une flottabilité (rotations) de proposition de mouvement et renvoie une entrée UDim2 et une flottabilité de mouvement modifié ou non modifié.Vous pouvez ajouter plusieurs fonctions qui seront appelées dans l'ordre par priority , en passant les résultats dans une chaîne.
L'entrée est exprimée dans l'espace défini par la propriété DragSpace delta ou la position/ rotation finale souhaitée en fonction de la propriété DragRelativity.La sortie doit être exprimée dans le même espace et la relativité, à moins qu'elle ne soit remplacée par le retour d'une valeur de retour spécifiée Enum.UIDragDetectorDragRelativity et Enum.UIDragDetectorDragSpace comme valeurs de retour troisième et quatrième.
Pour supprimer une fonction de contrainte ajoutée, appelez Disconnect() sur l'objet de connexion retourné.
Paramètres
L'ordre de priorité des fonctions ajoutées via cette méthode. Les valeurs plus élevées ont la priorité sur les valeurs plus basses.
Fonction pour modifier ou restreindre la motion proposée.Cette fonction reçoit l'entrée UDim2 et la flotte de la motion proposée et renvoie une flotte de UDim2 et une flotte de modifiée ou non modifiée de la motion.Il peut optionnellement renvoyer un Enum.UIDragDetectorDragRelativity et Enum.UIDragDetectorDragSpace comme troisième et quatrième valeurs de retour en tant que remplacements de sortie.
Retours
Utilisez cet objet de connexion pour supprimer la fonction de contrainte.
GetReferencePosition
Lorsque aucun ReferenceUIInstance n'est configurer, cette fonction renvoie la position UDim2 de l'ancêtre immédiat de l'objet glissé GuiObject (s'il en existe un), ou la position UDim2 de l'objet glissé.
Lorsqu'une ReferenceUIInstance est configurer, cette fonction renvoie la position UDim2 de cette instance de référence.
Retours
GetReferenceRotation
Lorsque aucun ReferenceUIInstance n'est configurer, cette fonction renvoie la rotation du parent immédiat de l'objet dragué GuiObject (s'il en existe un), ou la rotation de l'objet dragué.
Lorsqu'un ReferenceUIInstance est configurer, cette fonction renvoie la rotation de cette instance de référence.
Retours
Rotation de l'élément de référence de la traînée actuelle.
SetDragStyleFunction
Passe une fonction à utiliser si et seulement si DragStyle est défini sur Enum.UIDragDetectorDragStyle.Scriptable.La fonction donnée reçoit la position d'entrée de l'espace d'écran du signal avec le type Vector2 , et renvoie une position UDim2 (position) et une flotte (rotation) contenant le mouvement souhaité du glisser.L'espace des valeurs de retour et la relativité de la motion sont déterminés par les propriétés DragSpace et DragRelativity, à moins qu'elles ne soient remplacées par le retour d'une valeur de retour spécifiée Enum.UIDragDetectorDragRelativity et Enum.UIDragDetectorDragSpace comme troisième et quatrième valeurs de retour.
Si la fonction renvoie nil, l'objet ne sera pas déplacé.Cela est utile si le script n'a pas encore collecté toutes les informations dont il a besoin pour donner la bonne réponse, ou dans des cas temporaires où vous voulez que l'objet reste où il est.
Paramètres
Fonction de surveillance des signaux DragContinue .Cette fonction reçoit la position de l'espace d'affichage du signal et renvoie une UDim2 et une flotte contenant la position de mouvement souhaitée du glisser dans l'espace et la relativité souhaitée.Si cette fonction renvoie nil , l'objet ne sera pas déplacé.
Retours
Évènements
DragContinue
S'enflamme lorsqu'un utilisateur continue de faire glisser l'élément d'interface utilisateur après que DragStart ait été initié.
Paramètres
DragEnd
S'enflamme lorsqu'un utilisateur arrête de faire glisser l'élément d'interface utilisateur.