Yükleme ekranları

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

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:

  1. ReplicatedFirst içinde bir LocalScript oluşturun.
  2. 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.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
-- ScreenGui değerlerini kendi değerlerinizle değiştirin
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)
textLabel.Font = Enum.Font.GothamMedium
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Yükleniyor"
textLabel.TextSize = 28
textLabel.Parent = screenGui
-- Varsayılan yükleme ekranını kaldır
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Ekranın minimum süre boyunca görünmesini sağla
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui: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.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = ReplicatedFirst.LoadingScreen
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
-- Varsayılan yükleme ekranını kaldır
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Ekranın minimum süre boyunca görünmesini sağla
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui: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.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)
textLabel.Font = Enum.Font.GothamMedium
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Yükleniyor"
textLabel.TextSize = 28
textLabel.Parent = screenGui
local loadingRing = Instance.new("ImageLabel")
loadingRing.Size = UDim2.new(0, 256, 0, 256)
loadingRing.BackgroundTransparency = 1
loadingRing.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ır
ReplicatedFirst: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ğla
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()