Foto Kabini

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

Fotoğraf çekmek, harika bir deneyimi taçlandırmanın mükemmel bir yoludur. FotoKabini geliştirici modülü, oyuncuların deneyimlerini temsil eden bir arka plan ile eşsiz bir poz vermesine olanak tanıyan, kullanımı kolay bir fotoğraf düzenleme aracıdır.

Modül kullanımı

Kurulum

FotoKabini modülünü bir deneyimde kullanmak için:

  1. Studio'nun Pencere menüsünden veya Ana sekmesi araç çubuğundan Araç Kutusu'nu açın ve Yaratıcı Mağaza sekmesini seçin.

  2. Modeller sıralamasının seçili olduğundan emin olun ve ardından Kategorileri Gör butonuna tıklayın.

  3. Paketler kutusunu bulun ve tıklayın.

  4. Foto Kabini modülünü bulun ve tıklayın ya da 3D görünümü içine sürükleyip bırakın.

  5. Keşfedicinin penceresinde, tüm FotoKabini modelini ReplicatedStorage'a taşıyın. Deneyimi çalıştırdığınızda modül çalışmaya başlayacaktır.

Kabini konumlandırma

Modül, 3D dünyada konumlandırabileceğiniz bir FotoKabini modeli ile birlikte gelir. Bu model, oyuncuların bir fotoğraf ayarlamak için etkileşimde bulunacakları şeydir.

  1. Modülün ana klasöründeki Workspace klasörü içinde FotoKabini mesh'ini bulun.

  2. Bunu üst düzey Workspace hiyerarşisine taşıyın ve istediğiniz yere yerleştirin.

Yapılandırma

Modül, çoğu kullanım durumu için önceden yapılandırılmıştır, ancak configure fonksiyonu aracılığıyla kolayca özelleştirilebilir. Örneğin, fotoğrafın altındaki varsayılan mesajı değiştirmek için:

  1. StarterPlayerScripts içinde yeni bir LocalScript oluşturun ve adını ConfigureFotoKabini olarak değiştirin.

  2. Yeni script'e aşağıdaki kodu yapıştırın.

    LocalScript - ConfigureFotoKabini

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FotoKabini = require(ReplicatedStorage.FotoKabini)
    FotoKabini.configure({
    frameMessage = "İlk Foto Kabini Çekimi!",
    })

Olaylara bağlanma

Fotoğraf kabini her yeni ekranı bir yerel istemciye gösterdiğinde, buna karşılık gelen bir olay ateşlenir. Bu olaylara LocalScript içinde bağlanarak kendi özel mantığınızla yanıt verebilirsiniz.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FotoKabini = require(ReplicatedStorage.FotoKabini)
FotoKabini.countdownStarted:Connect(function()
print("Geri sayım başladı")
end)
FotoKabini.printoutShown:Connect(function()
print("Çıktı gösteriliyor")
end)
FotoKabini.promptShown:Connect(function()
print("Kamera istemi gösteriliyor")
end)

GUI görünürlüğü

Varsayılan olarak, fotoğraf kabini bir fotoğraf ayarlandığında tüm ScreenGuis ve CoreGuis'yi gizler. Bu otomatik gizleme davranışını geçersiz kılmak ve hangi GUİ'lerin görünür kalacağına programatik olarak karar vermek istiyorsanız, hideOtherGuis ve showOtherGuis geri aramalarını ekleyin ve kendi özel mantığınızla yanıt verin.

LocalScript

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterGui = game:GetService("StarterGui")
local FotoKabini = require(ReplicatedStorage.FotoKabini)
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local hiddenInstances = {}
-- Gizlenmeyecek bir ekran GUI oluştur
local specialGuiInstance = Instance.new("ScreenGui")
-- Ekran GUI'yi fotoğraf kabini GUI'sinin üstüne çizin
specialGuiInstance.DisplayOrder = 1
specialGuiInstance.Parent = playerGui
-- Gizlemeyi önlemek için ekran GUI'sine bir nitelik ayarlayın
specialGuiInstance:SetAttribute("ShowInPhotoBooth", true)
-- GUI'ye metin etiketi ekleyin
local specialLabel = Instance.new("TextLabel")
specialLabel.Size = UDim2.fromScale(1, 0.1)
specialLabel.Text = "Fotoğraf çekimi esnasında görünür kalır"
specialLabel.Font = Enum.Font.GothamMedium
specialLabel.TextSize = 24
specialLabel.Parent = specialGuiInstance
FotoKabini.hideOtherGuis(function()
-- Niteliği işaretlenmemiş olan tüm geliştirici tanımlı ekran GUILER'ini 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 temel GUILER'i gizle
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end)
FotoKabini.showOtherGuis(function()
-- Gizlenmiş olan tüm geliştirici tanımlı ekran GUILER'ini göster
for _, instance in hiddenInstances do
instance.Enabled = true
end
hiddenInstances = {}
-- Gizlenmiş olan belirli temel GUILER'i göster
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end)

API referansı

Fonksiyonlar

configure

configure(config: table)

config tablosundaki aşağıdaki anahtar/değerler ile varsayılan yapılandırma seçeneklerini geçersiz kılar. Bu fonksiyon yalnızca bir LocalScript içinden çağrılabilir.

AnahtarAçıklamaVarsayılan
frameMessageFotoğrafın altında gösterilen mesaj. Süresi fadeUiDelay özelliği ile kontrol edilebilir."Cihazını kullanarak bir ekran görüntüsü çek ve paylaş!"
fadeUiDelayÇerçeve mesajının silinmeden önce gösterileceği süre, saniye cinsinden. Asla silinmemesi için negatif bir sayıya ayarlanabilir.3
closeButtonImageKapalı fotoğraf düğmesi için kullanılacak resim, closeButtonBackgroundImage resminin üzerine yerleştirilir."rbxassetid://7027440823"
closeButtonBackgroundImageKapatma fotoğraf düğmesi için kullanılacak arka plan resmi."rbxassetid://7027440891"
cameraLandscapePositionFotoğraf kabininin kameranın, manzara modunda fotoğraf çekerken karakterin önünde ve yukarısına olan mesafesi (Vector2).(5, 2)
cameraPortraitPositionFotoğraf kabininin kameranın, portre modunda fotoğraf çekerken karakterin önünde ve yukarısına olan mesafesi (Vector2).(10, 1)
countdownFontGeri sayımda kullanılacak sayıların yazı tipi (Enum.Font).GothamBlack
countdownTextColorGeri sayımdaki sayıların rengi (Color3).[255, 255, 255]
printoutCharacterPositionÇıktı gösterildiğinde ekranda karakterin pozisyonu (UDim2).(0.5, 0, 0.5, 0)
printoutCharacterSizeÇıktı içinde karakterin kapladığı ekran alanı miktarı (UDim2).(1, 0, 1, 0)
characterAnimationFotoğraftaki karakter için kullanılan animasyonun varlık kimliği, başlangıç çerçevesinde duraklatılmıştır."rbxassetid://6899663224"
filterImageFotoğrafın üzerine uygulanacak filtre resmi. Eğer nil ise, görüntünün kenarlarını karartan varsayılan bir filtre kullanılacaktır.nil
LocalScript - ConfigureFotoKabini

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FotoKabini = require(ReplicatedStorage.FotoKabini)
FotoKabini.configure({
frameMessage = "Ne kadar havalı bir poz!",
fadeUiDelay = 5,
maxActivationDistance = 5,
printoutCharacterSize = UDim2.fromScale(1.5, 1.5),
})

setBackgrounds

setBackgrounds(backgrounds: table)

Foto kabini tarafından sağlanan varsayılan arka planları geçersiz kılar. Arka plan resimlerinin en iyi deneyim için 16:9 görüntü oranında (1024×576) olması gerekmektedir ve varlık kimlikleri arka planlar dizisine eklenmelidir. 1–4 (dahil) arka plan verilebilir.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FotoKabini = require(ReplicatedStorage.FotoKabini)
FotoKabini.setBackgrounds({
"rbxassetid://7018713114",
"rbxassetid://950538356",
})

Olaylar

countdownStarted

Geri sayım başladığında ateşlenir. Bu olay sadece bir LocalScript içinde bağlanabilir.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FotoKabini = require(ReplicatedStorage.FotoKabini)
FotoKabini.countdownStarted:Connect(function()
print("Geri sayım başladı")
end)

printoutShown

Çıktı kullanıcının önüne serildiğinde ateşlenir. Bu olay sadece bir LocalScript içinde bağlanabilir.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FotoKabini = require(ReplicatedStorage.FotoKabini)
FotoKabini.printoutShown:Connect(function()
print("Çıktı gösteriliyor")
end)

promptShown

Çıktı kapatıldığında ve kamera düğmesi tekrar görünür olduğunda ateşlenir. Bu olay sadece bir LocalScript içinde bağlanabilir.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FotoKabini = require(ReplicatedStorage.FotoKabini)
FotoKabini.promptShown:Connect(function()
print("Kamera istemi gösteriliyor")
end)

Geri çağırmalar

hideOtherGuis

hideOtherGuis(callback: function)

Bu geri çağırma, çıktı gösterilmeden hemen önce çalıştırılır, böylece çıkmadan önce tüm ScreenGuis veya içindeki öğeleri devre dışı bırakmanızı sağlar. Foto kabini tarafından kullanılan GUİ'lerin ShowInPhotoBooth niteliği true olarak ayarlanmıştır. Detaylar ve örnek kod için GUI Görünürlüğü bölümüne bakın.

showOtherGuis

showOtherGuis(callback: function)

Bu geri çağırma, çıktı kapatıldıktan sonra çalıştırılır ve size tüm ScreenGuis veya içlerindeki öğeleri yeniden etkinleştirme imkanı sunar. Foto kabini tarafından kullanılan GUİ'lerin ShowInPhotoBooth niteliği true olarak ayarlanmıştır. Detaylar ve örnek kod için GUI Görünürlüğü bölümüne bakın.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.