Posisi dan Ukuran Objek UI

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

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 :

  1. Di jendela Properti, klik di dalam field AnchorPoint

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

DesainDeskripsi
DaftarUIListLayout posisi saudara laki-laki GuiObjects ke posisi vertikal atau kolom vertikal dalam wadah orang tua mereka.
Pelat SalibUIGridLayout posisi saudara laki-laki GuiObjects dalam grid sel-sel seragam ukuran yang sama di dalam kontainer orang tua mereka.
TabelUITableLayout posisi saudara laki-laki GuiObjects dan anak-anak mereka ke dalam format tabel.
HalamanUIPageLayout 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.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
if UserInputService.TouchEnabled then
-- Tunggu tombol lompat benar-benar dimuat
while not (playerGui:FindFirstChild("JumpButton", true) and playerGui:FindFirstChild("JumpButton", true).IsLoaded) do
task.wait()
end
local jumpButton = playerGui:FindFirstChild("JumpButton", true)
-- Tempatkan tombol kustom baru di sebelah tombol lompat
local 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.Parent
else
warn("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

Tombol khusus yang Anda tampilkan hanya ketika karakter berada dekat pintu atau peti