Chyba że obiekty UI są pod kontrolą struktury layout lub modyfikatora rozmiaru, masz pełną kontrolę nad ich pozycją i 2>rozmiarem2>. Możesz również ustawić kolejność 5>nadruku5>, w której obiekty się 8>nadlądują8>.
Właściwości rdzenia
Wszystkie GuiObjects dzielą się zasobami w rdzeniu w pozycji, rozmiarze, 1>zakotwiczeniem1> i 4>warstwą4> nich w kontenerze na ekranie lub w doświadczeniu.
Pozycja
Właściwość Position jest zestawem koordynatów UDim2, które pozycjonuje obiekt wzdłuż osi X i 1>Y1>. A 4> Datatype.UDim2
- Scale wartości przedstawiają procentowy udział rozmiaru kontenera wдоł osi odpowiadającej, dodawkowy wszystkich wartości Datatype.UDim.Offset|Offset .
Aby edytować pozycję wybranego GuiObject , kliknij pole Pozycja w oknie Właściwości i wpisz nowy zestaw ustawiać2>Datatype.UDim22>.
Wielkość
Właściwość Size jest zestawem koordynatów UDim2, który rozmiaruje obiekt wzdłuż osi X i 2>Y2>. A 5>Datatype.UDim25> jest reprezentowany
- Skala — wartości, które reprezentują procent wielkości kontenera wдоłu odpowiedniego osi, dodawane do wszystkich wartości Odległość .
- Offset — wartości, które represent the object's Pixel rozmiar along the corresponding axis, additive to any Skala wartości.
Aby zmienić rozmiar wybranego GuiObject, kliknij pole Rozmiar w oknie Właściwości i wpisz nowy zestaw ustawiać2>Datatype.UDim22>.
Punkt Anchora
Właściwość AnchorPoint określa punkt pochodzenia od którego obiekt zmienia pozycję i rozmiar. Domyślne wartości Class.GuiObject.AnchorPoint są 1>2> (0, 0)2> .
AnchorPoint wartości są frakcją z 0
Aby zobaczyć i edytować punkt ankietowania wybranego GuiObject :
W Oknie Proprietści, kliknij w pole AnchorPoint .
Wprowadź nową Vector2 koordynatę i naciśnij Enter.
Zaindeksowanie
Właściwość ZIndex określa kolejność poziomów, w której GuiObjects renderuje się i pojawia się nawzajem. Jeśli chcesz stworzyć nowe poziomy renderowania, musisz ustawić ZIndex wartość pozytywnej lub ujemnej liczby dla każdego obiektu.
Dla kontenerów UI, takich jak ScreenGui, domyślny ZIndexBehavior zawsze renderuje dzieci nad ich rodzicami, a każde dziecko ma ZIndex, aby zdecydować porządek, w jaki wyświetla się nad innymi.
Aby edytować obiektu ZIndex , lokalizuj ZIndex w oknie Właściwości i wpisz nową wartość liczbową.
Struktury布局
Struktury layoutu pozwalają szybko zorganizować i wyświetlić GuiObjects, na przykład w pionowej lub poziomej liście , równolegle rozmieszczonej płytki lub 2>stronie sequencji2> i więcej. Struktury zwykle przeciwstawiają lub wpływają na po
Lokalizacja | Opis |
---|---|
Lista | UIListLayout pozycje siostrzane GuiObjects w rzędach poziomych lub kolumnach wertykalnych w ich obszarze rodzicielskim. |
Kolejka | UIGridLayout pozycje siostrzane GuiObjects w grillu komórek jednolitych wielkości w ich pojemniku rodzicielskim. |
Tabela | UITableLayout pozycje siostrzane GuiObjects i ich dzieci w formie tabeli. |
Strona główna | UIPageLayout zorganizowuje jego siostrzane GuiObjects na unikalnych stronach, które możesz przejść poprzez skryptowanie. |
Czynniki krzyżowo-platformowe
Roblox jest wrodzonym krzyżowym platformowym, ponieważ gracze mogą odkryć i dołączyć do doświadczeń na PC lub konsoli, a następnie podnieść telefon i kontynuować, gdzie zakończyli. Powinieneś zaprojektować swoje doświadczenia Roblox, aby były one dostępne i przyjemne na wszystkich platformach, które wybierasz, aby wspierać, zamiast optymalizować dla jednej platformy
Zakazane strefy
Na urządzeniach mobilnych domyślne sterowanie zajmuje część lewego dołu i prawego dołu ekranu. Gdy projektujesz interfejs użytkownika doświadczenia, unikaj umieszczania ważnych informacji lub przycisków wizualnych w tych obszarach.
Strefy Miniatur
Większość gier na urządzeniach mobilnych używa dwóch palców — jeden na wirtualnym joysticku i jeden na przycisku skoku. W zależności od fizycznych rozmiarów urządzenia i rąk gracza, dotrzenie zbyt daleko do kątów dolnych staje się niekomfortowe lub nie możliwe, więc powinieneś unikać umieszczania często używanych przycisków poza łatwo dostępnymi obszarami.
Pamiętaj, że wygodne strefy dłoni różnią się między telefonami i tabletami, ponieważ tabletki mają większy ekran. Przycisk umieszczony 40% poniżej górnej krawędzi ekranu jest osiągalny na telefonie, ale prawie niedostępny na tablecie.
Nadёжnym podejściem na obu telefonach i tabletach jest relatywne położenie przycisków niestandardowych w pobliżu często używanych sterowisk, takich jak domyślny przycisk skoku, umieszczonych w łatwo dostępnym miejscu.
Poniższy kod, umieszczony w skrypcie strony klienta w StarterPlayerScripts, pobiera pozycję przycisku skoku i tworzy miejsceholderowy przycisk button o wielkości 20 pikseli po lewej stronie.
Skrypt Klienta - Personalizowany Przycisk Blisko Przycisku Skoku
local Players = game:GetService("Players")local UserInputService = game:GetService("UserInputService")local player = Players.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")if UserInputService.TouchEnabled then-- Poczekaj, aż przycisk skoku zostanie w pełni załadowanywhile not (playerGui:FindFirstChild("JumpButton", true) and playerGui:FindFirstChild("JumpButton", true).IsLoaded) dotask.wait()endlocal jumpButton = playerGui:FindFirstChild("JumpButton", true)-- Umieść nowy niestandardowy przycisk po lewej stronie przycisku skokulocal customButton = Instance.new("ImageButton")customButton.AnchorPoint = Vector2.new(1, 1)customButton.Size = UDim2.fromOffset(jumpButton.Size.X.Offset * 0.8, jumpButton.Size.Y.Offset * 0.8)customButton.Position = jumpButton.Position + UDim2.fromOffset(-20, jumpButton.Size.Y.Offset)customButton.Parent = jumpButton.Parentelsewarn("Device is not touch-enabled or Studio is not emulating a touch-enabled device!")end
Interfejs oparty na kontekście
Przestrzeń ekranu jest ograniczona na urządzeniach mobilnych, więc powinieneś pokazać tylko najważniejsze informacje podczas rozgrywkaw życiu. Na przykład, jeśli twoje doświadczenie zawiera specjalną akcję wejścia, aby otworzyć drzwi i skrzynie skarbów, nie ma sensu stale pokazywanie przycisku otwarty na ekranie. Zamiast tego użyj met