SurfaceGui
*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.
SurfaceGui pozwala na renderowanie obiektów interfejsu użytkownika na powierzchni części w świecie 3D, jednocześnie umożliwiając wystąpienie podstawowej interakcji użytkownika.Podobnie do i , obiekty interfejsu użytkownika takie jak i są skierowane w tym samym kierunku, co powierzchnia, na której się znajdują, edytowane za pomocą właściwości .

Zauważ, że interaktywne elementy UI, takie jak ImageButtons i TextButtons wewnątrz SurfaceGui otrzymają tylko wejście użytkownika, jeśli są powiązane z PlayerGui, zwykle poprzez umieszczenie SurfaceGui wewnątrz StarterGui.Właściwość Adornee można wykorzystać do ukierunkowania części w świecie 3D, podczas gdy sama SurfaceGui pozostaje w PlayerGui.
Zobacz Interfejs użytkownika w doświadczeniu dla przewodnika dotyczącego pracy z SurfaceGui.
Zachowanie przechowywania
Aby pomóc poprawić wykonywanie, wygląd SurfaceGui jest przechowywany do czasu, gdy wystąpi jedna z poniższych sytuacji, po których jego wygląd zostanie ponownie obliczony na następnym ramie renderowania.
- Potomek jest dodany do lub usunięty z SurfaceGui.
- Własność potomka zmian SurfaceGui .
- Właściwość własna SurfaceGui sama zmienia się.
Podsumowanie
Właściwości
Określa, czy SurfaceGui zawsze będzie renderowany nad innymi obiektami 3D.
Określa czynnik, który skaluje światło kontenera SurfaceGui, gdy LightInfluence jest 0.
Rozmiar "wirtualnego ekranu" w "wirtualnych pikselach", który czyni SurfaceGuis piksel na piksel kompatybilnym z ScreenGuis .
Czy części GuiObjects będą rysowane poza granicami płótna SurfaceGui, czy nie
Kontroluje, jak dużo SurfaceGui jest wpływanych przez oświetlenie środowiskowe.
Kontroluje, jak daleko można wyświetlić SurfaceGui przed zatrzymaniem renderowania.
Określa gęstość pikseli używanych do każdej przestrzeni świata, aby renderować zawartość SurfaceGui.
Określa, czy SurfaceGui będzie renderowany przy stałej wielkości lub skali z jego rozmiarem w szpilkach.
Ustawia odległość, w której lewe klikanie zaczyna działać na SurfaceGui zamiast na trzymane Tool.
Umieszcza to SurfaceGui w stosunku do innego SurfaceGuis na tej samej twarzy.
BasePart na który należy zastosować SurfaceGui, zastępując domyślną stowarzyszenie rodzicielskie.
Enum.NormalId twarz, na której należy zastosować SurfaceGui.
Przełącza widoczność tego LayerCollector .
Określa, czy odnowienia LayerCollector (samodzielnie się resetuje i klonuje do postaci gracza PlayerGui) następują za każdym razem, gdy postać gracza się odrodzi.
Kontroluje, jak GuiObject.ZIndex zachowuje się na wszystkich potomkach tego LayerCollector .
Opisuje rzeczywistą pozycję ekranu elementu GuiBase2d w pikselach.
Opisuje rzeczywitą rotację ekranu elementu GuiBase2d w stopniach.
Opisuje rzeczywistą rozdzielczość ekranu elementu GuiBase2d w pikselach.
Gdy ustawiono na true, lokalizacja zostanie zastosowana do tego GuiBase2d i jego potomków.
Odwołanie do LocalizationTable , które ma być użyte do zastosowania automatyzowanej lokalizacji do tego GuiBase2d i jego potomków.
Dostosowuje zachowanie wyboru pada w dół w grze.
Dostosowuje zachowanie wyboru gamepada w lewo.
Dostosowuje zachowanie wyboru gamepada w prawnym kierunku.
Dostosowuje zachowanie wyboru gamepada w kierunku góry.
Umożliwia dostosowanie ruchu wyboru gamepada.
Zdarzenia
Zdarzenia odziedziczeni z: GuiBase2d- SelectionChanged(amISelected : boolean,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Wybucha, gdy wybór gamepada przenosi się do, opuszcza lub zmienia w ramach połączonego GuiBase2d lub dowolnego potomka GuiObjects.
Właściwości
AlwaysOnTop
Właściwość ta określa, czy SurfaceGui zawsze będzie renderowany nad innymi obiektami 3D.
Gdy ustawiono na false (domyślnie), SurfaceGui renderuje się jak inne treści 3D i jest ukrywany przez inne obiekty 3D.Gdy ustawiono na true , SurfaceGui zawsze renderuje się na górze treści 3D i zmiany wyglądu są znaczne:
- Kolory pasują do tego, jak wyglądają wewnątrz ScreenGui .
- Tekst może wyglądać ostrojszy na urządzeniach o wysokiej rozdzielczości DPI.
- LightInfluence jest traktowany tak, jakby był 0 .
- Brightness nie ma żadnego wpływu.
Brightness
Właściwość ta określa czynnik, przy którym światło kontenera SurfaceGui jest skalowane, gdy LightInfluence jest 0.Domyślnie właściwość ta jest 1 i może być ustawiona na dowolną liczbę pomiędzy 0 i 1000.Poprzez zmianę tej właściwości jasność widoczna SurfaceGui może być lepiej dostosowana do jej środowisko.Na instancjabillboard wideo może być rozjaśniony w ciemnym pokoju poprzez zwiększenie Brightness do 10.
Zauważ, że Brightness nie jest dostępne w Studio i nie ma wpływu, gdy LightInfluence jest 1 lub AlwaysOnTop jest true.
CanvasSize
Rozmiar "wirtualnego ekranu" w "wirtualnych pikselach", który czyni SurfaceGuis piksel na piksel kompatybilnym z ScreenGuis .
ClipsDescendants
Gdy ustawiono na true (domyślnie), części GuiObjects spadające poza granice płótna SurfaceGui nie zostaną narysowane.
Nawet gdy ta właściwość jest false, GuiObjects które są całkowicie poza płótnem nie zostaną wyrenderowane.
LightInfluence
Kontroluje, jak dużo SurfaceGui jest wpływanych przez oświetlenie środowiskowe, w przedziale od 0 do 1 .Ustawienie tego na 1 oznacza, że otoczenie oświetlenia ma pełną kontrolę nad wyglądem, podczas gdy ustawienie go na 0 oznacza, że oświetlenie nie ma żadnego wpływu.
MaxDistance
Właściwość ta kontroluje, jak daleko od kamery będzie wyświetlany SurfaceGui przed zatrzymaniem renderowania.Wartość 0 oznacza, że nie ma ograniczenia i będzie renderować się nieskończenie daleko.Domyślna wartość 1000 działa dobrze w większości przypadków.
Dla SurfaceGuis, które pojawiają się na zewnątrz, zaleca się, aby MaxDistance było wystarczająco wysokie, aby zapewnić, że interfejs użytkownika kontenera jest wystarczająco mały na ekranie, gdy pojawia się lub znika, minimalizując efekt nagłego wyskakiwania/znikania.
PixelsPerStud
Właściwość ta określa gęstość pikseli używanych do każdej przestrzeni świata, aby renderować zawartość SurfaceGui.Wyższe wartości spowodują, że poszczególne GuiObjects wewnątrz będą mniejsze, jeśli zostaną utrzymane w tej samej wielkości.Odwrotnie, niższe wartości spowodują, że obiekty będą wyglądały większe.Jeśli jednak GuiObjects są skalowane proporcjonalnie za pomocą użycia UIScale , GuiObject.Size , TextLabel.TextSize lub podobnych, ta właściwość pozwala na wykorzystanie wyższej definicji.
Ważne jest, aby wybrać wartość w oparciu o to, jak daleko oczekujesz, że gracz zobaczy SurfaceGui .Pamiętaj również, że duża gęstość pikseli może negatywnie wpłynąć na wydajność, jeśli twarz pokrytej części jest wystarczająco duża.
SizingMode
Gdy ustawiono na Enum.SurfaceGuiSizingMode.PixelsPerStud (domyślnie), renderuje się SurfaceGui z zmienną wielkością w oparciu o PixelsPerStud i rozmiar powierzchni w szpilkach.
Gdy ustawiono na Enum.SurfaceGuiSizingMode.FixedSize, renderuje się SurfaceGui z ustawionym stałym rozmiarem za pomocą CanvasSize.
ToolPunchThroughDistance
Ustawia odległość, w której lewe klikanie zaczyna działać na SurfaceGui zamiast na trzymane Tool.Jeśli postać znajduje się w tej odległości od SurfaceGui, Tool nie aktywuje się po klikać.
ZOffset
Umieszcza to SurfaceGui w stosunku do innych na tej samej twarzy (zmiana tego nie wizualnie "podnosi" lub "opada" SurfaceGui z powierzchni).