UIDragDetector

Afficher les obsolètes

*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

Méthodes

Évènements

Propriétés

ActivatedCursorIcon

ContentId
Lecture parallèle

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.

Lecture parallèle

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

Lecture parallèle

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

ContentId
Lecture parallèle

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

Lecture parallèle

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.

Lecture parallèle

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

Lecture parallèle

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é.

Lecture parallèle

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 .

Lecture parallèle

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

Lecture parallèle

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

Lecture parallèle

Si true , le UIDragDetector répond à l'entrée de l'utilisateur ; si false , il ne le fait pas.

MaxDragAngle

Lecture parallèle

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

Lecture parallèle

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

Lecture parallèle

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

Lecture parallèle

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

Lecture parallèle

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 .

Lecture parallèle

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

Lecture parallèle

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

Lecture parallèle

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

Lecture parallèle

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

priority: number

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.

Valeur par défaut : ""
function: function

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.

Valeur par défaut : ""

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

UDim2 position de l'élément de référence de la traînée actuelle.

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

function: function

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é.

Valeur par défaut : ""

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

inputPosition: Vector2

Vector2 représentant la position d'entrée actuelle.


DragEnd

S'enflamme lorsqu'un utilisateur arrête de faire glisser l'élément d'interface utilisateur.

Paramètres

inputPosition: Vector2

Vector2 représentant la position d'entrée actuelle.


DragStart

S'allume lorsqu'un utilisateur commence à faire glisser l'élément d'interface utilisateur.

Paramètres

inputPosition: Vector2

Vector2 représentant la position d'entrée actuelle.