UIDragDetector
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Instancja UIDragDetector ułatwia i zachęca do interakcji z elementami interfejsu użytkownika 2D w doświadczeniu, takimi jak suwaki i przekładnie.Główne funkcje obejmują:
Umieść UIDragDetector pod dowolną instancją GuiObject, aby uczynić ją przeciąganą za pomocą wszystkich wejść bez pojedynczej linii kodu.
Wybierz z kilku opcji DragStyle, określ, jak obiekt reaguje na ruch za pomocą ResponseStyle , a opcjonalnie zastosuj osi, ograniczenia ruchu lub granice przeciągania.
Skrypty mogą reagować na manipulację przeciągniętymi obiektami, aby napędzać odpowiedzi logiczne, takie jak dostosowywanie ustawień.
praca w Studio tak długo, jak jesteś nie używasz narzędzi Wybierz , Przesuń , Skala lub Obróć narzędzi, ani pewnych pluginów lub narzędzi edytora UI Studio.
Podsumowanie
Właściwości
Ustawia ikonę kurora do wyświetlenia, gdy mysz jest aktywowana nad rodzicem tego UIDragDetector .
Określa zachowanie obramowania obiektu UI przeciągniętego, gdy ustawiono BoundingUI wykrywacza.
Instancja, której obszar graniczny określa granice przeciągania dla rodzica GuiObject.
Ustawia ikonę kurora do wyświetlenia, gdy mysz jest przewijana nad rodzicem tego UIDragDetector .
Przeciągnięta osi dla instancji UIDragDetector, gdy DragStyle jest ustawiona na Enum.UIDragDetectorDragStyle.TranslateLine.
Ustawia paradygmat, który określa relatywność wejść/wyjść z funkcji przeciągania niestandardowej.
Rotacja wykonywana przez obecne przeciąganie.
Ustawia paradygmat, który określa przestrzeń wejść/wyjść z niestandardowej funkcji przeciągania.
Paradygmat używany do generowania proponowanego ruchu.
Tłumaczenie wykonywane przez obecne przeciąganie wyrażone w wartości UDim2.
Czy UIDragDetector odpowiada na wejście użytkownika.
Wraz z MinDragAngle, uniemożliwia próby wygenerowania ruchu obrotowego przez detektor.
Wraz z MinDragTranslation, uniemożliwia próby wykrywacza generowania liniowego/płaskiego ruchu.
Wraz z MaxDragAngle, uniemożliwia próby wygenerowania ruchu obrotowego przez detektor.
Wraz z MaxDragTranslation, uniemożliwia próby wykrywacza generowania liniowego/płaskiego ruchu.
Instancja GuiObject, której lokalna przestrzeń i pozycja środka absolutnego są przestrzenią odniesienia i źródłem wykrywacza.
Paradygmat używany do określenia odpowiedzi na proponowaną motion.
Maksymalna prędkość przeciągania dla tłumaczenia.
Maksymalny kąt na sekundę, przy którym UIDragDetector może się obrócić.
Wartość, która określa prędkość przeciągania wymiaru X/Y.
Metody
Dodaje funkcję do modyfikacji lub ograniczania proponowanego ruchu.
Zwraca pozycję odniesienia UDim2 pozycji obecnego przeciągnięcia referencji.
Zwraca referencyjną rotację elementu odniesienia obecnego przeciągnięcia.
Przekazuje funkcję do użycia, jeśli i tylko jeśli DragStyle jest ustawiony na Enum.UIDragDetectorDragStyle.Scriptable.
Zdarzenia
Wystrzeliwuje, gdy użytkownik kontynuuje przeciąganie elementu interfejsu po DragStart zainicjowaniu.
Wystrzeliwuje, gdy użytkownik przestaje przeciągać element interfejsu.
Wystrzeliwuje, gdy użytkownik zaczyna przeciągać element interfejsu.
Właściwości
ActivatedCursorIcon
Ustawia ikonę kurora do wyświetlenia, gdy mysz jest aktywowana nad rodzicem tego UIDragDetector .Jeśli ta właściwość pozostanie pusta, detektor użyje domyślnego ikona.
Aby zmienić aktywną ikonakurora, ustaw tę właściwość na ID zasobu obrazu, który chcesz użyć.
BoundingBehavior
Określa zachowanie graniczenia obiektu UI przeciągniętego, gdy ustawiono BoundingUI z wykrywaczem. Zobacz Enum.UIDragDetectorBoundingBehavior na szczegóły zachowania każdego ustawienie.
BoundingUI
Po ustawiaćinstancja UIDragDetector nie będzie pozwalać na przeciąganie granic rodzica GuiObject poza granice instancji BoundingUI .
Zauważ, że jeśli część rodzica GuiObject znajduje się poza granicami BoundingUI , początkowa pozycja wejścia podczas przeciągania i jej pozycja względna podczas przeciągania zostaną wykorzystane do wykrywania wiązań, dopóki cała zawartość przeciąganego obiektu nie znajdzie się w granicach, po czym obiekt zostanie ograniczony wewnątrz granic.
CursorIcon
Ustawia ikonę kurora do wyświetlenia, gdy mysz jest przewijana nad rodzicem tego UIDragDetector .Jeśli ta właściwość pozostanie pusta, detektor użyje domyślnego ikona.
Aby zmienić ikonakurora, ustaw tę właściwość na ID zasobu obrazu, który chcesz użyć.
DragAxis
Wartość, która określa osię ruchu dla przeciąganego obiektu, gdy zostanie ustawiona na >.Oś jest zdefiniowana w lokalnej przestrzeni UIDragDetector , chyba że ReferenceUIInstance jest zdefiniowana, w przeciwnym razie oś jest zdefiniowana w przestrzeni lokalnej tej instancja.
DragRelativity
Dotyczy tylko wtedy, gdy funkcja przeciągania niestandardowa zostanie zarejestrowana za pośrednictwem SetDragStyleFunction() lub AddConstraintFunction().Ustawia paradygmat, który określa relatywność wejść/wyjść zarejestrowanej funkcji.
Na przykład, powrót z UDim2.fromOffset(1, 0) zarejestrowanej funkcji z tym właściwością ustawioną na Enum.UIDragDetectorDragRelativity.Absolute przeniesie rodzica wykrywacza do **** (1, 0) w wyznaczonym DragSpace , podczas gdy powrót tego samego UDim2 z tym właściwością ustawioną na Enum.UIDragDetectorDragRelativity.Relative przeniesie rodzica wykrywacza do **** (1, 0) w wyznaczonym DragSpace.
DragRotation
Rotacja wykonywana przez obecne przeciąganie.Ta wartość jest zdefiniowana w stopniach względem lokalnej przestrzeni UIDragDetector chyba że ReferenceUIInstance jest zdefiniowana, w przypadku której rotacja jest zdefiniowana w lokalnej przestrzeni tej instancji i z jej pozytywnym osią X .
Właściwość ta może zostać zmieniona, gdy nie ma aktywnego przeciągania, aby obrócić przeciągany obiekt.
DragSpace
Dotyczy tylko wtedy, gdy funkcja przeciągania niestandardowa zostanie zarejestrowana za pośrednictwem SetDragStyleFunction() lub AddConstraintFunction().Ustawia paradygmat, który określa przestrzeń wejść/wyjść zarejestrowanej funkcji.
Na przykład, jeśli rodzic detektora GuiObject jest dzieckiem rodzica GuiObject, który został obrócony:
Powrót z zarejestrowanej funkcji z tym właściwością ustawioną na przeniesie rodzica detektora o 1 piksel w przestrzeni lokalnej dotkniętej rotacją jego rodzica.
Powrót z zarejestrowanej funkcji z tym właściwością ustawioną na przeniesie rodzica detektora o 1 piksel w przestrzeni w prawo.
DragStyle
Paradygmat używany do generowania proponowanego ruchu, biorąc za podstawę strumień wektorów pozycji wejściowych. Zobacz Enum.UIDragDetectorDragStyle dla opcji.
DragUDim2
Tłumaczenie wykonywane przez obecne przeciąganie wyrażone w wartości UDim2.Tłumienie jest wykonywane za pomocą Offset lub Scale zmian wartości w zależności od wartości DragRelativity, i jest względne do lokalnej przestrzeni detektora, chyba że zostanie określona ReferenceUIInstance.
Właściwość ta może zostać zmieniona, gdy nie ma aktywnego przeciągania, aby przesunąć przeciągany obiekt.
Enabled
Jeśli true, odpowiedź UIDragDetector reaguje na wejście użytkownika; jeśli false, nie robi tego.
MaxDragAngle
Jeśli ta właściwość jest większa niż MinDragAngle, rotacja zostanie ograniczona w zakresie MinDragAngle i MaxDragAngle.Pozytywne wartości uniemożliwiają rotację w kółko, podczas gdy negatywne wartości uniemożliwiają rotację odwrotną w kółko.
Nie jest to ograniczenie; po prostu utrudnia próby wykrywacza generowania ruchu, aby pozostać w granicach.Zobacz AddConstraintFunction(), aby dodać niestandardowe ograniczenie do przeciągnięcia.
Tylko istotne, jeśli DragStyle jest Enum.UIDragDetectorDragStyle.Rotate.
MaxDragTranslation
Jeśli odpowiednie wartości Offset i/lub Scale są większe niż wartości MinDragTranslation we wszystkich wymiarach, tłumaczenie liniowe/płaskie zostanie ograniczone w zakresie MinDragTranslation i MaxDragTranslation.
Nie jest to ograniczenie; po prostu utrudnia próby wykrywacza generowania ruchu, aby pozostać w granicach.Zobacz AddConstraintFunction(), aby dodać niestandardowe ograniczenie do przeciągnięcia.
Tylko istotne, jeśli DragStyle jest Enum.UIDragDetectorDragStyle.TranslateLine lub Enum.UIDragDetectorDragStyle.TranslatePlane.
MinDragAngle
Jeśli ta właściwość jest mniejsza niż MaxDragAngle, rotacja zostanie ograniczona w zakresie MinDragAngle i MaxDragAngle.Pozytywne wartości uniemożliwiają rotację w kółko, podczas gdy negatywne wartości uniemożliwiają rotację odwrotną w kółko.
Nie jest to ograniczenie; po prostu utrudnia próby wykrywacza generowania ruchu, aby pozostać w granicach.Zobacz AddConstraintFunction(), aby dodać niestandardowe ograniczenie do przeciągnięcia.
Tylko istotne, jeśli DragStyle jest Enum.UIDragDetectorDragStyle.Rotate.
MinDragTranslation
Jeśli odpowiednie wartości Offset i/lub Scale są mniejsze niż wartości MaxDragTranslation we wszystkich wymiarach, tłumaczenie liniowe/płaskie zostanie ograniczone w zakresie MinDragTranslation i MaxDragTranslation.
Nie jest to ograniczenie; po prostu utrudnia próby wykrywacza generowania ruchu, aby pozostać w granicach.Zobacz AddConstraintFunction(), aby dodać niestandardowe ograniczenie do przeciągnięcia.
Tylko istotne, jeśli DragStyle jest Enum.UIDragDetectorDragStyle.TranslateLine lub Enum.UIDragDetectorDragStyle.TranslatePlane.
ReferenceUIInstance
Instancja GuiObject, której lokalna przestrzeń i pozycja środka absolutnego są przestrzenią odniesienia i źródłem wykrywacza.Ustawienie tego odniesienia wpływa na właściwości takie jak DragUDim2 , DragRotation i zachowanie DragAxis .
ResponseStyle
Gdy proponowana propozycja została obliczona i potencjalnie ograniczona, ten paradygmat jest używany do określenia, jak przesuwać (lub nie przesuwać) GuiObject dotknięte przez UIDragDetector .Zobacz Enum.UIDragDetectorResponseStyle opcje.
SelectionModeDragSpeed
Definiuje maksymalną prędkość przeciągania dla tłumaczenia jako kombinację Scale i Offset pierwszego przodka ScreenGui lub SurfaceGui należącego do niego UIDragDetector.Ta wartość musi być pozytywna, a każda wartość poniżej 0 zostanie przycięta do 0.
SelectionModeRotateSpeed
Określa maksymalny kąt na sekundę, przy którym UIDragDetector może się obrócić.Ta wartość musi być pozytywna, a każda wartość poniżej 0 zostanie przycięta do 0.
UIDragSpeedAxisMapping
Wartość, która określa prędkość przeciągania wymiaru X/Y.
Metody
AddConstraintFunction
Dodaje funkcję do modyfikacji lub ograniczania proponowanego ruchu.Funkcja przyjmuje wejście UDim2 (pozycję) i przepływ (rotację) zaproponowanej ruchu i zwraca UDim2 i przepływ zmodyfikowanej lub niezmodyfikowanej ruchu.Możesz dodać wiele funkcji, które zostaną wezwane w kolejności priority, przekazując wyniki w łańcuchu.
Wejście jest wyrażone w przestrzeni określonej przez właściwość DragSpace, jako delta lub ostateczna pożądana pozycja/rotacja w oparciu o właściwość DragRelativity.Wyjście powinno być wyrażone w tej samej przestrzeni i relatywnie, chyba że zostanie zastąpione przez powrót określonego Enum.UIDragDetectorDragRelativity i Enum.UIDragDetectorDragSpace jako trzeciej i czwartej wartości zwrotu.
Aby usunąć dodaną funkcję ograniczenia, wezwij Disconnect() na zwroconym obiekcie połączenia.
Parametry
kolejność priorytetu dla funkcji dodanych za pomocą tej metody. Wyższe wartości mają pierwszeństwo przed niższymi wartościami.
Funkcja do modyfikowania lub ograniczania proponowanego ruchu.Funkcja ta przyjmuje wejście UDim2 i pływ w propozycji wniosku i zwraca pływ UDim2 i pływ zmodyfikowanych lub niezmodyfikowanych ruchów.Może opcjonalnie zwrócić Enum.UIDragDetectorDragRelativity i Enum.UIDragDetectorDragSpace jako trzecią i czwartą wartość zwrotną jako przeciążenia wyjścia.
Zwroty
Użyj tego obiektu połączenia, aby usunąć funkcję ograniczenia.
GetReferencePosition
Gdy nie zostanie ustawiaćżadna ReferenceUIInstance, funkcja ta zwraca pozycję UDim2 bezpośredniego rodzica przeciąganego obiektu GuiObject (jeśli istnieje), lub pozycję UDim2 przeciąganego obiektu.
Gdy ustawiaćReferenceUIInstance, ta funkcja zwraca pozycję UDim2 referencyjnej instancja.
Zwroty
GetReferenceRotation
Gdy nie zostanie ustawiaćżadna ReferenceUIInstance, funkcja ta zwraca rotację bezpośredniego rodzica przeciąganego obiektu GuiObject (jeśli istnieje), lub rotację przeciąganego obiektu.
Gdy ustawiaćReferenceUIInstance, funkcja ta zwraca rotację tej instancji instancja.
Zwroty
Rotacja elementu odniesienia obecnego przeciągnięcia.
SetDragStyleFunction
Przekazuje funkcję do użycia, jeśli i tylko jeśli DragStyle jest ustawiony na Enum.UIDragDetectorDragStyle.Scriptable.Podana funkcja otrzymuje pozycję przestrzeni ekranu sygnału z typem Vector2 i zwraca pozycję UDim2 (pozycję) i pływanie (rotację) zawierające pożądaną prędkość przeciągania.Przestrzeń wartości zwrotnych i relatywność ruchu są określone przez właściwości DragSpace i DragRelativity, chyba że zostaną zastąpione przez powrót określonych wartości Enum.UIDragDetectorDragRelativity i Enum.UIDragDetectorDragSpace jako trzecia i czwarta wartość zwrotna.
Jeśli funkcja zwraca nil, obiekt nie zostanie przeniesiony.Jest to przydatne, jeśli skrypt nie zebrał jeszcze wszystkich informacji, których potrzebuje, aby dać poprawną odpowiedź, lub w przypadkach tymczasowych, w których chcesz, aby obiekt pozostał tam, gdzie jest.
Parametry
Funkcja do monitorowania sygnałów DragContinue .Funkcja ta otrzymuje pozycję wejściu przestrzeni ekranu sygnału i zwraca pozycję UDim2 i pływające zawierające pożądaną prędkość przesuwania w pożądanym przestrzeni i relatywności.Jeśli ta funkcja zwraca nil, obiekt nie zostanie przeniesiony.
Zwroty
Zdarzenia
DragContinue
Wystrzeliwuje, gdy użytkownik kontynuuje przeciąganie elementu interfejsu po DragStart zainicjowaniu.
Parametry
DragEnd
Wystrzeliwuje, gdy użytkownik przestaje przeciągać element interfejsu.