Roblox menampilkan layar pemuatan default saat pengguna terhubung ke pengalaman, tetapi Anda dapat menyesuaikan pengalaman Anda dengan layar pemuatan khusus yang berisi konten statis atau animasi.
Tampilkan layar pemuatan khusus
Untuk menampilkan layar pemuatan khusus, Anda dapat mendesain instance ScreenGui langsung dalam LocalScript , atau Anda dapat merujuk objek ScreenGui di ruang kerja Anda.Kedua opsi menggunakan ReplicatedFirst , karena layanan ini yang menyalin instans ke klien sebelum hal lain disalin.Ini memastikan bahwa layar pemuatan Anda adalah hal pertama yang dilihat pengguna saat mereka memasuki pengalaman Anda.
Desain dalam LocalScripts
Untuk merancang dan menampilkan layar pemuatan khusus:
- Di dalam ReplicatedFirst , buat LocalScript.
- Gunakan contoh kode berikut untuk membuat dan menyesuaikan objek ScreenGui.Anda dapat memodifikasi kode berikut dengan nilai Anda sendiri untuk membuat desain Anda:
local Players = game:GetService("Players")local ReplicatedFirst = game:GetService("ReplicatedFirst")local player = Players.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local screenGui = Instance.new("ScreenGui")screenGui.IgnoreGuiInset = truescreenGui.Parent = playerGui-- Ganti nilai ScreenGui dengan milik Anda memilikilocal textLabel = Instance.new("TextLabel")textLabel.Size = UDim2.new(1, 0, 1, 0)textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)textLabel.Font = Enum.Font.GothamMediumtextLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)textLabel.Text = "Loading"textLabel.TextSize = 28textLabel.Parent = screenGui-- Hapus layar pemuatan defaultReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Paksa layar muncul selama jumlah minimum detikif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
Referensi Layar Guis
Alih-alih membuat ScreenGui melalui LocalScript , Anda juga dapat merujuk pada yang sudah ada ScreenGui langsung di ruang kerja Anda.Pastikan bahwa pengalaman Anda termasuk ScreenGui dalam ReplicatedFirst dan bahwa ScreenGui termasuk elemen UI seperti TextLabels dan ImageLabels , kemudian atur sebagai layar pemuatan dengan merujuk ke dalamnya dalam LocalScript .Metode ini memungkinkan Anda dengan mudah melihat layar pemuatan Anda saat Anda membuatnya.
Untuk menunjukkan proses ini, referensi berikut menyebutkan > LoadingScreen di dalam , kemudian menghapus layar pemuatan default sehingga satu-satunya layar pemuatan yang dapat dilihat pengguna adalah layar pemuatan khusus Anda:
local Players = game:GetService("Players")local ReplicatedFirst = game:GetService("ReplicatedFirst")local player = Players.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local screenGui = ReplicatedFirst.LoadingScreenscreenGui.IgnoreGuiInset = truescreenGui.Parent = playerGui-- Hapus layar pemuatan defaultReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Paksa layar muncul selama jumlah minimum detikif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
Tambahkan animasi
Selain layar pemuatan statis, Anda dapat menambahkan animasi untuk meningkatkan layar pemuatan dan menunjukkan kemajuan pemuatan.Cara termudah untuk melakukan ini adalah dengan membuat elemen UI, seperti TextLabel atau ImageLabel , kemudian untuk menganimasikannya menggunakan TweenService .Sebagai contoh, sampel kode berikut membuat baru ScreenGui dengan anak ImageLabel , menghapus layar pemuatan default, lalu TweenService memutar ImageLabel terus sampai pengalaman dimuat:
local Players = game:GetService("Players")local ReplicatedFirst = game:GetService("ReplicatedFirst")local TweenService = game:GetService("TweenService")local player = Players.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local screenGui = Instance.new("ScreenGui")screenGui.IgnoreGuiInset = truescreenGui.Parent = playerGuilocal textLabel = Instance.new("TextLabel")textLabel.Size = UDim2.new(1, 0, 1, 0)textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)textLabel.Font = Enum.Font.GothamMediumtextLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)textLabel.Text = "Loading"textLabel.TextSize = 28textLabel.Parent = screenGuilocal loadingRing = Instance.new("ImageLabel")loadingRing.Size = UDim2.new(0, 256, 0, 256)loadingRing.BackgroundTransparency = 1loadingRing.Image = "rbxassetid://4965945816"loadingRing.AnchorPoint = Vector2.new(0.5, 0.5)loadingRing.Position = UDim2.new(0.5, 0, 0.5, 0)loadingRing.Parent = screenGui-- Hapus layar pemuatan defaultReplicatedFirst:RemoveDefaultLoadingScreen()local tweenInfo = TweenInfo.new(4, Enum.EasingStyle.Linear, Enum.EasingDirection.In, -1)local tween = TweenService:Create(loadingRing, tweenInfo, {Rotation = 360})tween:Play()task.wait(5) -- Paksa layar muncul selama jumlah minimum detikif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()