Bir fotoğraf çekmek, harika bir deneyimin hatırlanması için mükemmel bir yoldur. Fotoğraf kabinigeliştirici modülü isteğe başvuran oyuncuların deneyimlerini temsil eden bir arka planla eşsiz bir poz vermesine izin veren kolay kullanımı kolay bir fotoğraf aşama aracıdır.
Modül Kullanımı
Kurulum
Bir deneyimde Fotoğraf Kabini modülünü kullanmak:
从 Görüntü sayfasından aç Araç Kutusu ve seç Yaratıcı Dükkanı sayfasını.
Modelleri Sırala seçimi seçildiğinden emin olun, sonra Tümünü Gör düğmesine tıklayın, Kategoriler için.
Yerleştir ve Dev Modülleri mozülünü tıkla.
Fotoğraf Kabini modülünü bul ve tıkla, yoksa 3D görüntüsüne kaydır ve bırak.
In the Explorer window, move the entire PhotoBooth model into ServerScriptService . On running the experience, the module will distribute itself to various services and begin running.
Standın Yerleştirilmesi
Modül, 3D dünyasında yerleştirilecek bir FotoğrafKabini modeli ile gelir. Bu model, oyuncuların bir fotoğraf kurmak için etkileşime geçeceği şeydir.
Modülün ana dizininin Fotoğraf Kafesi meshesini bulun.
En üst düzeydeki Çalışma Alanı hiyerarşisine hareket ettir ve istediğin yere yerleştir.
Yapılandırma
Modül, çoğu kullanım durumu için çalışmaya hazır, ancak 配置 işlevi aracılığıyla kolayca özelleştirilebilir. Örneğin, fotoğrafın altındaki varsayılan mesajı değiştirmek için:
In StarterPlayerScripts , yeni bir LocalScript oluştur ve onu Fotoğraf Kabini Yapılandır olarak adlandır.
Aşağıdaki kodu yeni script'e yapıştırın.
Yerel Kod - Fotoğraf Kabini Yapılandırlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))PhotoBooth.configure({frameMessage = "First Photo Booth Capture!",})
Etkinliklere Bağlanıyor
Her fotoğraf kabini bir yerel müşteriye yeni bir ekran gösterdiğinde, buna karşılık bir etkinlik başlatılır. Bu etkinlikler bir LocalScript aracılığıyla bağlanabilir, böylece kendi özel mantığınızla yanıtlayabilirsiniz.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.countdownStarted:Connect(function()
print("The countdown has started")
end)
PhotoBooth.printoutShown:Connect(function()
print("The printout is showing")
end)
PhotoBooth.promptShown:Connect(function()
print("The camera prompt is showing")
end)
GUI Görünürlüğü
Varsayılan olarak, fotoğraf kabini tüm ScreenGuis ve CoreGuis gizler bir fotoğraf sahnesindeğinde tüm şeyleri gizler. Eğer bu otomatik gizleme davranışını ve programlama olarak hangi GUI'lerin görünmes
Yerel Kod
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterGui = game:GetService("StarterGui")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local hiddenInstances = {}
-- Gizlenmeyecek bir ekran GUI oluşturun
local specialGuiInstance = Instance.new("ScreenGui")
-- Fotoğraf kabini GUI'nin üzerindeki ekran GUI'sini çizin
specialGuiInstance.DisplayOrder = 1
specialGuiInstance.Parent = playerGui
-- Gizlenmeyi önlemek için ekran GUI'sinde özellik ayarlarını değiştir
specialGuiInstance:SetAttribute("ShowInPhotoBooth", true)
-- Metni etiketleri GUI'ye ekleyin
local specialLabel = Instance.new("TextLabel")
specialLabel.Size = UDim2.fromScale(1, 0.1)
specialLabel.Text = "Remains visible when taking a photo"
specialLabel.Font = Enum.Font.GothamMedium
specialLabel.TextSize = 24
specialLabel.Parent = specialGuiInstance
PhotoBooth.hideOtherGuis(function()
-- Özellikle belirtilenler dışında tüm geliştirici tarafından tanımlanan ekran GUIs'lerini gizle
local instances = playerGui:GetChildren()
for _, instance in instances do
if instance:IsA("ScreenGui") and not instance:GetAttribute("ShowInPhotoBooth") and instance.Enabled then
instance.Enabled = false
table.insert(hiddenInstances, instance)
end
end
-- Belirli çekirdek GUI'lerini gizle
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end)
PhotoBooth.showOtherGuis(function()
-- Gizlenen tüm geliştirici tarafından gizlenmiş ekran GUIs'lerini göster
for _, instance in hiddenInstances do
instance.Enabled = true
end
hiddenInstances = {}
-- Gizlenen özel çekirdek GUI'lerini göster
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end)
API İşaretçisi
Fonksiyonlar
yapılandır
class.local script tabelasındaki önbelleği geçersiz hale getiren anahtarlar/değerler aracılığıyla varsayılan yapılandırma seçeneklerini üst üste geçersiz kılar. Bu işlev sadece LocalScript ile bağlantı kurulabilir.
Anahtar | Açıklama | Varsayılan |
---|---|---|
frameMessage | Fotoğrafın altında gösterilen mesaj. Onun süresi fadeUiDelay özelliği aracılığıyla kontrol edilebilir. | “Ekran görüntüsü almak ve paylaşmak için cihazınızı kullanın!” |
fadeUiDelay | Çerçeveli mesajı göstermek zamanlayıcı olmadan solgunca, saniye içinde. Olumsuz bir sayıyı ayarla asla solgunmayın. | 3 |
closeButtonImage | Yakın fotoğraf düğmesi için kullanılacak resim, closeButtonBackgroundImage görüntüsünün üzerine yerleştirilmiştir. | “rbxassetid://7027440823” |
closeButtonBackgroundImage | Yakın fotoğraf düğmesi için kullanılan arka plan görüntüsü. | “rbxassetid://7027440891” |
cameraLandscapePosition | Landscape modunda bir fotoğraf çekerken karakterin önünde ve yukarında fotoğraf makinesinin kamerasının mesafesi (Vector2). | (5, 2) |
cameraPortraitPosition | Portre modunda bir fotoğraf çekerken karakterin önünde ve yukarıda fotoğraf makinesinin kamerasının mesafesi, Vector2 . | (10, 1) |
countdownFont | Sayım sayısında kullanılan karakter ( Enum.Font ). | GothamBlack |
countdownTextColor | Sayı sayım süresindeki renkler ( Color3 ). | [255, 255, 255] |
printoutCharacterPosition | Yazı çıktığında ekranda karakterin konumu ( UDim2 ). | (0.5, 0, 0.5, 0) |
printoutCharacterSize | Karakterin kağıt çıktısında aldığı ekran alanının miktarı (UDim2). | (1, 0, 1, 0) |
characterAnimation | Karakterin fotoğrafta duraklatılmış başlangıç karesinde aldığı animasyonun kaynağıdır. | “rbxassetid://6899663224” |
filterImage | Fotoğraf üzerinde bir filtre olarak uygulanacak resim. Eğer nil , görüntü kenarlarını karartan bir varsayılan filtre kullanılacaktır. | nil |
Yerel Kod - Fotoğraf Kabini Yapılandır
local ReplicatedStorage = game:GetService("ReplicatedStorage")local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))PhotoBooth.configure({frameMessage = "What a cool pose!",fadeUiDelay = 5,maxActivationDistance = 5,printoutCharacterSize = UDim2.fromScale(1.5, 1.5),})
setBackgrounds
Fotoğraf kabini tarafından sağlanan varsayılan arka planları üstürür. Arka plan görüntüleri 16:9 yönlendirme oranında (1024×768) mükemmel bir deneyim için olmalıdır ve varsayılan arkal planlar arka planlar arasında dahil edilmelidir. 1–4 (dahil) arka planlar sağlanabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))PhotoBooth.setBackgrounds({"rbxassetid://7018713114","rbxassetid://950538356",})
Etkinlikler
countdownBaşladı
Sayıya geri sayım başladığında ateşlenir. Bu olay sadece bir LocalScript içinde bağlanabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.countdownStarted:Connect(function()
print("The countdown has started")
end)
printoutGösterildi
Yazdırma, kullanıcıya gösterildiğinde ateşlenir. Bu olay sadece bir LocalScript ile bağlanabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.printoutShown:Connect(function()
print("The printout is showing")
end)
gösterilen
Yazdırma kapatıldığında ve kamerası tekrar gösterildiğinde ateşlenir. Bu olay sadece bir LocalScript ile bağlanabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.promptShown:Connect(function()
print("The camera prompt is showing")
end)
Çağrılar
Diğer Güis'i gizle
Bu çağrı, çıktının görüntülenmeden hemen önce yürütülür, böylece çıktının görüntülenmeden önce tüm ScreenGuis veya onun içindeki elemanları devre dışı bırakabilirsiniz. Fotoğraf kabini tarafından kullanılan GUI'lerin çoğlu <
OtherGuis'i göster
Bu çağrı, çıktı kapatıldıktan sonra yürütülür, böylece tüm ScreenGuis veya onların içindeki elemanları yeniden etkinleştirebilirsiniz. Fotoğraf kabini tarafından kullanılan GUI'lerin ShowInPhotoBooth özelliğine sahip olduğunu görünür true .