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.
Umożliwia renderowanie elementów GUI na powierzchni części w świecie 3D, przy jednoczesnym umożliwieniu podstawowej interakcji użytkownika. GUI powierzchni musi być potomstwem PlayerGui, aby wiedzieć, z którym graczem się interaguje.
Przechowywanie statycznej interfejsu użytkownika dla popraw wydajności
Wygląd Gui'ego jest zapamiętywany do czasu pojawienia się jednego z następujących wydarzeń:
- Dodany jest potomny do Gui.
- Potomstwo jest usuwane z Gui.
- Własność potomstwa Gui zmienia się.
- Własność Gui zmienia się.
Jeśli jedno z tych wydarzeń się występować, wygląd Gui zostanie ponownie wyliczony w następnym klatce, w której zostanie renderowane.
Podsumowanie
Właściwości
Określa, czy SurfaceGui zawsze będzie renderowany na górze innych obiektów 3D.
Określa czynnik, w jaki sposób światło GUI jest skalowane, gdy LightInfluence ma 0.
Rozmiar 'wirtualnego ekranu', w 'wirtualnych pikselach', co czyni SurfaceGuis w pełni kompatybilnym z ScreenGuis.
Ustawione na prawdę, części GuiObjects, które spadają poza ramy SurfaceGui, nie będą rysowane.
Kontroluje, jak bardzo SurfaceGui jest wpływany przez oświetlenie w świecie gry.
Kontroluje, jak daleko można wyświetlić SurfaceGui, zanim przestanie renderować.
Określa liczbę pikseli przestrzeni ekranowej na świecie używanych do renderowania treści w SurfaceGui.
Określa, czy powierzchnia GUI będzie renderowana w pełnowymiarze lub skalować wraz z jej rozmiarem w studs.
Ustawia odległość lewego kliczenia, która zaczyna działać na powierzchni gui, zamiast przytrzymywanej narzędzia.
Odlega SurfaceGui od powierzchni, do której jest przyczepiony.
Włącza/Wyłącza widoczność tego LayerCollector .
Określa, czy LayerCollector zostanie zresetowany (usuwa siebie i klonuje się do gracza w PlayerGui ) za każdym razem, gdy gracz odzyskuje postać.
Kontroluje, jak GuiObject.ZIndex zachowuje się na wszystkich potomnych tego LayerCollector .
Opisuje rzeczywistą pozycję ekranu elementu UI, w pikselach.
Opisuje rzeczywistą rotację ekranu elementu UI, w stopniach.
Opisuje rzeczywisty rozmiar ekranu elementu UI, w pikselach.
Ustawione na prawdę, lokalizacja zostanie zastosowana do tego GuiBase2d i jego potomnych.
Odnośnik do LocalizationTable używany do zastosowania automatycznej lokalizacji do tego GuiBase2d i jego potomnych.
Dostosowuje zachowanie wyboru gry w dół.
Dostosuj zachowanie selekcji sterowania w lewym kierunku.
Dostosuj zachowanie selekcji gry w odpowiednim kierunku.
Dostosowuje zachowanie wyboru gry w górę.
Umożliwia dostosowanie ruchu wyboru gry.
Zdarzenia
Zdarzenia odziedziczeni z: GuiBase2d- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Występuje, gdy selekcja gamepad'a przesuwa się do, wychodzi lub zmienia w ciągu połączonego GuiBase2d lub dowolnego potomnego GuiObjects.
Właściwości
AlwaysOnTop
Określa, czy SurfaceGui będzie renderować nad wierzchołem 3D lub zostanie przez nią zaciemniony.
Gdy ustawiony na fałszywy, SurfaceGui będzie renderować się podobnie do innych treści 3D i zostanie zamknięty przez inne obiekty 3D.
Gdy ustawiony na prawdę, zawsze renderuje się na wierzchołku 3D, a zmiany wyglądu znacznie się zmieniają:
- Kolory zgadują się, jak wyglądają one w ScreenGui .
- Tekst może wyglądać bardziejostro na wysokich urządzeniach DPI.
- SurfaceGui.LightInfluence jest traktowany tak, jakby była 0.
- SurfaceGui.Brightness nie ma efektu.
Brightness
Jasność określa czynnik, z którym skaluje się promieniowane światło GUI. Domyślnie wartość ta wynosi 1 i można ją ustawić na dowolną liczbę w zakresie [0, 1000].
Poprzez modyfikację tego właściwości, widoczność GUI może być lepiej dostosowana do jej środowisko. Na instancja, video billboard, takie jak te znalezione w Times Square, można uczynić jaśniejszym, aby być wyraźnie widoczny na jasnym dniu.
To właściwość nie będzie wywierać żadnego efektu w następujących scenariuszach, w których GUI nie emituje światła.:
- Gdy AlwaysOnTop jest prawdziwy, kolor każdego piksela jest kolorem wyświetlanym na ekranie.
- Gdy LightInfluence ma 1, cały światło z GUI jest odzwierciedlane z środowiska zamiast być emitowane.
CanvasSize
Rozmiar 'wirtualnego ekranu', w 'wirtualnych pikselach', co czyni SurfaceGuis w pełni kompatybilnym z ScreenGuis.
ClipsDescendants
Ustawione na prawdę, części GuiObjects, które spadają poza ramy SurfaceGui, nie będą rysowane.
Nawet jeśli ta właściwość jest fałszywa, obiekty, które są całkowicie poza płaszczyzną SurfaceGui, nie będą się renderować.
LightInfluence
Kontroluje, jak bardzo SurfaceGui jest wpływany przez oświetlenie w świecie gry.
MaxDistance
Kontroluje, jak daleko można wyświetlić powierzchnię GUI, zanim przestanie się renderować. Wartość 0 oznacza, że nie ma limitu, a będzie renderowane nieskończono daleko.
Dla doświadczeń z wieloma SurfaceGuis, zaleca się ustawić to na odpowiednią wartość dla każdego SurfaceGui. Domyślną wartość przy wstawianiu SurfaceGui w Studio to 1000, co powinno być dobre dla większości użyć.
Dla UIs, które są na zewnątrz, powinieneś ustawić odległość Maksymalnej Dystancji tak daleko, aby UI była mała na ekranie, gdy się wyświetla, około 10 pikseli po obu stronach. To sprawia, że jest mniej widoczne, gdy się wyświetla lub wyłącza.
Możesz jeszcze bardziej zmniejszyć efekt falowania, dodając podobnie wyglądającą naklejkę pod powierzchnią GUI lub zmieniając kolor części do odpowiedniego koloru tła Twojego interfejsu użytkownika.
Dla pomieszczeń wewnętrznych MaxDistance powinien być ustawiony nieco większy niż rozmiar pokoju, aby UI nie renderowała, gdy gracz jest w innym pokoju.
PixelsPerStud
PixelsPerStud określa gęstość używanych dla każdego świata przestrzeni stud do renderowania zawartości SurfaceGui.
Wyższe wartości powodują, że różne GuiObject w środku pojawiają się mniejsze, jeśli są
SizingMode
Gdy ustawiony na Enum.SurfaceGuiSizingMode.FixedSize, SurfaceGui renderuje z użyciem ustawionego wielkości ustawienia SurfaceGui.CanvasSize .
Gdy ustawiony na Enum.SurfaceGuiSizingMode.PixelsPerStud , renderuje się powierzchniowy gui z wieloma rozmiarami w zależności od SurfaceGui.PixelsPerStud i rozmiarów w studs.
ToolPunchThroughDistance
Ustawia odległość lewego kliczenia, która zaczyna działać na powierzchni gui zamiast trzymającego się narzędzia. Jeśli znajduje się w tej odległości od powierzchni gui, to narzędzie nie zostanie aktywowane przy klikać.