UIDragDetector

Pokaż przestarzałe

*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

Metody

Zdarzenia

Właściwości

ActivatedCursorIcon

ContentId
Odczyt równoległy

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

Odczyt równoległy

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

Odczyt równoległy

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

ContentId
Odczyt równoległy

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

Odczyt równoległy

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.

Odczyt równoległy

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

Odczyt równoległy

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.

Odczyt równoległy

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.

Odczyt równoległy

Paradygmat używany do generowania proponowanego ruchu, biorąc za podstawę strumień wektorów pozycji wejściowych. Zobacz Enum.UIDragDetectorDragStyle dla opcji.

DragUDim2

Odczyt równoległy

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

Odczyt równoległy

Jeśli true, odpowiedź UIDragDetector reaguje na wejście użytkownika; jeśli false, nie robi tego.

MaxDragAngle

Odczyt równoległy

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

Odczyt równoległy

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

Odczyt równoległy

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

Odczyt równoległy

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

Odczyt równoległy

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 .

Odczyt równoległy

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

Odczyt równoległy

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

Odczyt równoległy

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

Odczyt równoległy

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

priority: number

kolejność priorytetu dla funkcji dodanych za pomocą tej metody. Wyższe wartości mają pierwszeństwo przed niższymi wartościami.

Wartość domyślna: ""
function: function

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.

Wartość domyślna: ""

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

UDim2 pozycja elementu odniesienia obecnego przeciągnięcia.

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

function: function

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.

Wartość domyślna: ""

Zwroty

()

Zdarzenia

DragContinue

Wystrzeliwuje, gdy użytkownik kontynuuje przeciąganie elementu interfejsu po DragStart zainicjowaniu.

Parametry

inputPosition: Vector2

Vector2 reprezentujący obecną pozycję wejścia.


DragEnd

Wystrzeliwuje, gdy użytkownik przestaje przeciągać element interfejsu.

Parametry

inputPosition: Vector2

Vector2 reprezentujący obecną pozycję wejścia.


DragStart

Wystrzeliwuje, gdy użytkownik zaczyna przeciągać element interfejsu.

Parametry

inputPosition: Vector2

Vector2 reprezentujący obecną pozycję wejścia.