In Kodu Yeniden Kullanma , game:GetService() yönteminin sık kullanıldığını fark etmiş olabilirsiniz. Roblox hizmetleri, motorun içine kodlanmış özelliklere erişmenizi sağlar, bunlar deneyim içi öğelersatmak, sohbet etmek, sesleri çalmak, nesneleri animasyon etmek ve durum yönetmek.
Aslında, hizmetler Roblox gelişiminin en temel, en yaygın şemsiyesi :
- Hizmetleri al.
- Modül kodları gerektirir.
- Yerel işlevler ekle.
- Bu işlevleri tetikleyen etkinlikleri ekleyin.
Örneğin, oyuncuların deneyiminizden çıktığında dünyadaki pozisyonlarını kaydetmek isteyebilirsiniz:
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Modül kodunda tekrar kullanılabilir bir işlev çağırır.
local function saveProgress(character)
-- oyuncukarakterinin konumunu alın.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Modül kodunda kullanılan saveData işlevini kullanın,
-- Veri Deposu Hizmeti.
SaveManager.saveData(character, position)
end
-- Bir karakter kaldırıldığında saveProgress() çağıran yerel bir işlev
-- deneyim (burada, oyuncu ayrıldığında).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Bir oyuncu ilk kez deneyime bağlandığında onPlayerAdded çağrılır.
Players.PlayerAdded:Connect(onPlayerAdded)
Bazı anahtar ayrıntıları içerir:
- Her yazılımda sadece bir hizmeti almanız gerektiğinden, kurallar kurulmuştur. Bu kurallar modül yazılımları için de geçerlidir.
- Hizmetleri global değişken ile game ile alırsınız, veri modelinin köküne bir referans.
- Roblox, yükleme sırasında garanti vermez (ve instans yayını daha da karmaşık hale gelir), bu yüzden Instance:WaitForChild() kullanımı önemli bir güvenlik önlemdir.
Standart kütüphaneleri karşılaştırmak yerine, geleneksel işlevleri ve değişkenleri veya üçüncü parti kütüphaneleri değil, Roblox geliştirme sürecinin büyük bir kısmı, hangi çok, çok hizmetinizin istediği özellikleri eklemesine yardımcı olabileceğini belirlemekted
Konteyner Hizmetleri
Konteyner hizmetleri diğer nesneleri içerebilir ve etkileyebilir. Bu konteyner hizmetleri veritabanının kökünde bulunur ve Studio'nun Explorer penceresinde görünür. Toplam olarak, bu konteyner hizmetleri veritabanı için yapılandırılmış bir hiyerarit oluşturur, böylece Roblox motoru yerinizi doğru yorumlayabilir ve görüntüleyebilir. Aşağıdaki tabloda baz
Hizmet | Açıklama :--- | :--- Workspace | Tüm 3D dünyasında renderlenen nesneleri içerir, such as parts and terrain. Lighting | I
Veri modelini daha da incelemek için şu yöntemleri kullanabilirsiniz:
- game:FindService() arazi belirli hizmetin istemcisi için arar.
- game:GetChildren() bir dizi veri modelinin tüm kök çocuklarını içeren bir matrisi geri alır.
- game:GetDescendants() bir dizi veri modelinin tüm çocuklarını içeren bir matrisi oluşturur.
Konteyner hizmetleri hakkında daha fazla bilgi için veri modeli dokümanına bakın.
Kodlama Hizmetleri
Kodlama hizmetleri, kodların içindeki Roblox motorunda standart işlevsellik sağlar. Aşağıdaki tabloda, kodlama hizmetlerinin bazılarını içerir.
Hizmet | Açıklama :--- | :--- TweenService | Kullanıcının bir oyun sunucu, abone olma
Bulut Hizmetleri
Roblox ayrıca Roblox bulutunda oluşan görevleri ve işlemleri işleyebilecek özel bulut hizmetlerine de sahiptir. Aşağıdaki tabloda bazı yaygın bulut hizmetleri de vardır.
Hizmet | Açıklama :--- | :--- DataStoreService | Süreli verileri oturumlar arasında depolamak için. MemoryStoreService | Hızlı değişen ve ephemeral verileri depolamak için. MessagingService | Canlı oturumlar arasında farklı sunucularda depolanır.
Bulut hizmetlerinin ayrıca karşılık web API'leri vardır; onlar dışa aktarılan kodlardan veya araçlarından erişilebilir. For more information, see Bulutu Aç .