Kecuali objek UI berada di bawah kendali struktur layout atau penyesuaian ukuran, Anda memiliki kendali penuh atas posisi mereka dan ukuran . Anda juga dapat mengatur urutan 2>penyesuaian / modifier / penyesuaian2> Z-index dalam mana objek bertumpangan.
Properti Inti
Semua GuiObjects berbagi set core dari propinsi ke posisi, ukuran, 1>tautkan1>, dan 4> lapis4> mereka dalam wadah on-screen atau dalam pengalaman.
Posisi
Properti Position adalah set koordinat UDim2 yang menempatkan objek di sepanjang sumbu X dan 1> Y1>. Sebuah 4> Datatype.UDim2
- Skala —Nilai yang mewakili persentase dari ukuran kontainer di sumbu yang sesuai, tambahkan tambahan dari nilai apa pun Offset .
- Offset —Nilai yang mewakili berapa banyak Pixel untuk bergeser objek di sumbu yang sesuai, tambahkan skala apa pun dari nilai Skala .
Untuk mengedit posisi dari sebuah GuiObject yang dipilih, klik lapangan Posisi di jendela Propinsi dan masukkan aturkoordinat baru 1> Datatype.UDim21> .
Ukuran
Properti Size adalah set koordinat UDim2 yang menyesuaikan objek di sepanjang sumbu X dan 1> Y1>. Sebuah 4> Datatype.UDim24>
- Skala —Nilai yang mewakili persentase dari ukuran kontainer di sumbu yang sesuai, tambahkan ke nilai Offset apa pun.
- Offset —Nilai yang mewakili ukuran Pixel objek di sumbu yang sesuai, tambahkan ke nilai Skala apa pun.
Untuk mengedit ukuran GuiObject yang dipilih, klik lapangan Ukuran di jendela Propinsi dan masukkan aturkoordinat baru 2> Datatype.UDim22>.
Titik Anchor
Properti AnchorPoint mendefinisikan poin asal dari mana objek berubah posisi dan 1>ukuran1> . Padang值 4> Class.GuiObject.AnchorPoint4> default adalah 7> 8> (0,
AnchorPoint nilai adalah fraisi dari 0
Untuk melihat dan mengedit pos pemasangan pilihan GuiObject :
Di jendela Properti, klik di dalam field AnchorPoint
Masukkan koordinat baru Vector2 dan tekan Masukkan.
Indeks
Properti ZIndex mendefinisikan urutan lapis yang di rendingkan dan saling bertumpang-tindik antara GuiObjects dan satu-satunya objek. Jika Anda ingin membuat lapis rending baru, Anda harus menetapkan ZIndex property untuk berbagai nilai positif atau negatif unt
Untuk UI container seperti ScreenGui, default ZIndexBehavior selalu menyajikan anak-anak di atas orang tua mereka, dan setiap anak ZIndex digunakan untuk menentukan urutan di mana itu rendah di atas yang lain.
Untuk mengedit objek's ZIndex , locate ZIndex dalam jendela Properties dan enter a new integer value.
Struktur Antarmuka
Struktur layout memungkinkan Anda untuk dengan cepat mengatur dan menampilkan GuiObjects , misalnya dalam daftar horisontal atau vertikal daftar ', grid dari ubin-ukuran sama, 1> posisi sejarah dan banyak lagi. Struktur biasanya menghasilkan atau mengarah
Desain | Deskripsi |
---|---|
Daftar | UIListLayout posisi saudara laki-laki GuiObjects ke posisi vertikal atau kolom vertikal dalam wadah orang tua mereka. |
Pelat Salib | UIGridLayout posisi saudara laki-laki GuiObjects dalam grid sel-sel seragam ukuran yang sama di dalam kontainer orang tua mereka. |
Tabel | UITableLayout posisi saudara laki-laki GuiObjects dan anak-anak mereka ke dalam format tabel. |
Halaman | UIPageLayout mengatur saudara laki-lakinya GuiObjects menjadi halaman yang unik yang dapat Anda transisi melalui scripting. |
Faktor Antar-Platform
Roblox secara inherently ber平台-masa-ke-masa , karena pemain dapat menemukan dan bergabung dengan pengalaman di PC atau konsol, lalu kemudian mengambil telepon mereka dan melanjutkan di mana mereka mati. Anda harus mendesain pengalaman Roblox Anda untuk dapat diakses dan menyenangkan di semua platform yang Anda pilih untuk mendukung, bukan menyederhanakan unt
Zona yang Dihormati
Pada perangkat seluler, kontrol default mengambil sebagian dari sudut kiri bawah dan sudut kanan bawah layar. Saat Anda mendesain UI pengalaman, hindari menempatkan informasi penting atau tombol virtual di zona ini.
Zona Jempol
Sebagian besar pemain seluler menggunakan dua jari - satu di virtual thumbstick dan satu di tombol lompat. Tergantung pada ukuran fisik perangkat dan tangan pemain, mencapai terlalu jauh dari sudut bawah menjadi tidak nyaman atau tidak mungkin, jadi Anda harus menghindari menempatkan tombol yang sering digunakan di luar zona yang mudah diakses.
Ingat bahwa zona jari yang nyaman berbeda antara telepon dan tablet karena tablet memiliki layar yang lebih besar. Tombol yang ditempatkan 40% di bawah sudut atas layar dapat diakses di telepon tetapi hampir tidak terjangkau di tablet.
Pendekatan yang dapat diandalkan di kedua telepon dan tablet adalah relatif posisi tombol khusus di dekat tombol lompat bergantung yang sering digunakan seperti tombol lompat bergantung default, menempatkannya dalam jangkauan yang mudah.
kodeberikut, ditempatkan dalam naskah pihak klien dalam StarterPlayerScripts, mengambil posisi tombol lompat dan membuat tombol pengganti tombol 20 pixel ke kiri.
Skrip Klien - Tombol Kustom di Dekat Tombol Loncat
local Players = game:GetService("Players")local UserInputService = game:GetService("UserInputService")local player = Players.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")if UserInputService.TouchEnabled then-- Tunggu tombol lompat benar-benar dimuatwhile not (playerGui:FindFirstChild("JumpButton", true) and playerGui:FindFirstChild("JumpButton", true).IsLoaded) dotask.wait()endlocal jumpButton = playerGui:FindFirstChild("JumpButton", true)-- Tempatkan tombol kustom baru di sebelah tombol lompatlocal 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
UI Bersarat Konteks
Ruang layar terbatas pada perangkat seluler, jadi Anda harus menunjukkan hanya informasi yang paling penting selama gameplayaktif. Misalnya, jika pengalaman Anda meng包括 tombol khusus untuk membuka pintu dan peti harta karun, tidak masuk akal untuk selalu menunjukkan tombol buka di layar. Sebaliknya, gunakan metode sentuh atau serupa untuk menerima