Roblox, kullanıcılar bir deneyime bağlanırken varsayılan bir yükleme ekranı gösterir, ancak deneyiminizi statik veya animasyonlu içerik içeren bir özel yükleme ekranıyla kişiselleştirebilirsiniz.
Özel yükleme ekranlarını gösterin
Özel bir yükleme ekranı göstermek için, ya LocalScript içinde doğrudan bir ScreenGui örneği tasarlayabilirsiniz ya da çalışma alanınızdaki bir ScreenGui nesnesini referans alabilirsiniz. Her iki seçenek de ReplicatedFirst kullanır; çünkü bu hizmet, örnekleri başka bir şey çoğaltılmadan önce istemcilere kopyalar. Bu, yükleme ekranınızın kullanıcıların deneyiminize girdiğinde gördüğü ilk şey olmasını sağlar.
LocalScripts içinde tasarlama
Özel bir yükleme ekranı tasarlamak ve göstermek için:
- ReplicatedFirst içinde bir LocalScript oluşturun.
- Aşağıdaki kod örneğini kullanarak bir ScreenGui nesnesi oluşturun ve özelleştirin. Tasarımınızı 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-- ScreenGui değerlerini kendi değerlerinizle değiştirinlocal 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 = "Yükleniyor"textLabel.TextSize = 28textLabel.Parent = screenGui-- Varsayılan yükleme ekranını kaldırReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Ekranın minimum süre boyunca görünmesini sağlaif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
ScreenGui'leri Referans Alma
LocalScript ile ScreenGui oluşturmak yerine, çalışma alanınızdaki mevcut bir ScreenGui nesnesini doğrudan referans alabilirsiniz. Deneyiminizin ReplicatedFirst içinde bir ScreenGui içerdiğinden ve bu ScreenGui'nin TextLabel ve ImageLabel gibi UI öğelerini içerdiğinden emin olun, ardından bir LocalScript içinde bunu referans alarak yükleme ekranı olarak ayarlayın. Bu yöntem, yükleme ekranınızı oluştururken kolayca görmenizi sağlar.
Bu süreci göstermek için, aşağıdaki LocalScript, ReplicatedFirst içinde LoadingScreen adlı bir ScreenGui'yi referans alır ve varsayılan yükleme ekranını kaldırarak kullanıcının görebileceği tek yükleme ekranının kendi özel yükleme ekranı olmasını sağlar:
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 süre boyunca görünmesini sağlaif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
Animasyon 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 animasyona sokmaktır. Örneğin, aşağıdaki kod örneği yeni bir ScreenGui oluşturur, altına bir ImageLabel ekler, varsayılan yükleme ekranını kaldırır ve ardından TweenService sürekli olarak ImageLabel'i döndürerek deneyim yüklenene kadar devam eder:
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 = "Yükleniyor"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 süre boyunca görünmesini sağlaif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()