Roblox, kullanıcılar bir deneyime bağlandığında varsayılan bir yükleme ekranı görüntüler, ancak statik veya animasyonlu içerik içeren özel bir yükleme ekranıyla deneyiminizi kişiselleştirebilirsiniz.
Özel yükleme ekranlarını görüntüle
Özel bir yükleme ekranını görüntülemek için, bir ScreenGui örneğini doğrudan bir LocalScript içine tasarlayabilir veya çalışma alanınızdaki bir ScreenGui nesneye referans verebilirsiniz.Her iki seçenek de ReplicatedFirst , diğer her şeyden önce istanbul sunuculara yansıtılan bu hizmet kullanır, çünkü bu hizmet, önce başka bir şey yansıtılmadığında istanbul sunuculara yansıtılır.Bu, yükleme ekranınızın kullanıcıların deneyiminize girdiğinde ilk gördüğü şey olduğundan emin olur.
YerelScriptlar içinde tasarım
Özel bir yükleme ekranı tasarlamak ve görüntülemek için:
- In ReplicatedFirst , bir LocalScript oluşturun.
- Bir ScreenGui nesnesi oluşturmak ve özelleştirmek için aşağıdaki kod örneğini kullanın.Tasarımı oluşturmak için aşağıdaki kodu kendi değerlerinizle değiştirebilirsiniz:
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-- Ekran Gui değerlerini kendi değerlerinizle sahip ollocal 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-- Varsayılan yükleme ekranını kaldırReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Ekranın minimum bir süre boyunca görünmesini sağlaif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
Referans Ekran Guileri
Bir aracılığıyla oluşturmak yerine, çalışma alanınıza doğrudan mevcut bir referans verebilirsiniz.Deneyiminizin ScreenGui içinde bir ReplicatedFirst ve ScreenGui içinde UI öğeleri gibi TextLabels ve ImageLabels dahil olduğundan emin olun, ardından bunu LocalScript içinde referansla yük ekranı olarak ayarlayın.Bu yöntem, yükleme ekranınızı oluştururken kolayca görüntülemenize izin verir.
Bu süreci göstermek için, aşağıdaki LocalScript referansları, ScreenGui adlı bir Yükleme Ekranı içinde ReplicatedFirst , ardından varsayılan yükleme ekranını kaldırarak kullanıcının görebileceği tek yükleme ekranı kendi özel yükleme ekranınızdır:
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-- Varsayılan yükleme ekranını kaldırReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Ekranın minimum bir süre boyunca görünmesini sağlaif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
Animasyonlar ekleyin
Statik özel yükleme ekranlarına ek olarak, yükleme ekranını geliştirmek ve yükleme ilerlemesini göstermek için animasyonlar ekleyebilirsiniz.Bunu yapmanın en kolay yolu, bir TextLabel veya ImageLabel gibi bir UI öğesi oluşturmak ve ardından bunu TweenService kullanarak animasyon yapmaktır.Örneğin, aşağıdaki kod örneği bir çocuk ile yeni bir oluşturur, varsayılan yükleme ekranını kaldırır, sonra deneyim yüklenene kadar sürekli olarak döndürür:
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-- Varsayılan yükleme ekranını kaldırReplicatedFirst: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) -- Ekranın minimum bir süre boyunca görünmesini sağlaif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()