Kios Foto

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Mengambil foto adalah cara yang sempurna untuk memperingati permainan yang hebat. Modul KiosFoto pengembang adalah alat penataan foto yang mudah digunakan yang memungkinkan pemain untuk berpose unik dengan latar belakang yang mewakili pengalaman mereka.

Penggunaan modul

Instalasi

Untuk menggunakan modul KiosFoto dalam sebuah permainan:

  1. Dari menu Window Studio atau toolbar tab Home, buka Toolbox dan pilih tab Toko Pembuat.

  2. Pastikan pengurutan Model dipilih, lalu klik tombol Lihat Semua untuk Kategori.

  3. Temukan dan klik ubin Paket.

  4. Temukan modul Kios Foto dan klik, atau seret dan jatuhkan ke dalam tampilan 3D.

  5. Di jendela Explorer, pindahkan seluruh model KiosFoto ke dalam ReplicatedStorage. Setelah menjalankan permainan, modul akan mulai berjalan.

Posisi kios

Modul ini dilengkapi dengan satu model KiosFoto yang dapat Anda posisikan di dunia 3D. Model ini adalah yang akan berinteraksi dengan pemain untuk menyiapkan foto.

  1. Temukan mesh KiosFoto di dalam folder Workspace dari folder utama modul.

  2. Pindahkan ke hierarki Workspace tingkat atas dan posisikan di tempat yang diinginkan.

Konfigurasi

Modul ini telah dikonfigurasi sebelumnya untuk bekerja pada sebagian besar kasus penggunaan, tetapi dapat dengan mudah disesuaikan melalui fungsi konfigurasi. Misalnya, untuk mengubah pesan default di bagian bawah foto:

  1. Di StarterPlayerScripts, buat LocalScript baru dan ganti namanya menjadi KonfigurasiKiosFoto.

  2. Tempelkan kode berikut ke dalam skrip baru.

    LocalScript - ConfigurePhotoBooth
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
    PhotoBooth.configure({
    frameMessage = "Tangkap Kios Foto Pertama!",
    })

Menghubungkan ke acara

Setiap kali kios foto menampilkan layar baru kepada klien lokal, acara yang sesuai akan dipicu. Acara ini dapat dihubungkan dalam LocalScript sehingga Anda dapat merespons dengan logika kustom Anda sendiri.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.countdownStarted:Connect(function()
print("Hitungan mundur telah dimulai")
end)
PhotoBooth.printoutShown:Connect(function()
print("Cetakan sedang ditampilkan")
end)
PhotoBooth.promptShown:Connect(function()
print("Prompt kamera sedang ditampilkan")
end)

Visibilitas GUI

Secara default, kios foto menyembunyikan semua ScreenGuis dan CoreGuis ketika foto sedang dipentaskan. Jika Anda ingin mengesampingkan perilaku penyembunyian otomatis ini dan memutuskan secara programatis GUI mana yang harus tetap terlihat, sertakan callback hideOtherGuis dan showOtherGuis dan respons dengan logika kustom Anda sendiri.

LocalScript
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterGui = game:GetService("StarterGui")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local hiddenInstances = {}
-- Buat GUI layar yang tidak akan disembunyikan
local specialGuiInstance = Instance.new("ScreenGui")
-- Gambar GUI layar di atas GUI kios foto
specialGuiInstance.DisplayOrder = 1
specialGuiInstance.Parent = playerGui
-- Atur atribut pada GUI layar untuk mencegah penyembunyian
specialGuiInstance:SetAttribute("ShowInPhotoBooth", true)
-- Tambahkan label teks ke GUI
local specialLabel = Instance.new("TextLabel")
specialLabel.Size = UDim2.fromScale(1, 0.1)
specialLabel.Text = "Tetap terlihat saat mengambil foto"
specialLabel.Font = Enum.Font.GothamMedium
specialLabel.TextSize = 24
specialLabel.Parent = specialGuiInstance
PhotoBooth.hideOtherGuis(function()
-- Sembunyikan semua GUI layar yang ditentukan pengembang kecuali yang ditandai dengan atribut
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
-- Sembunyikan GUI inti tertentu
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end)
PhotoBooth.showOtherGuis(function()
-- Tampilkan semua GUI layar yang ditentukan pengembang yang disembunyikan
for _, instance in hiddenInstances do
instance.Enabled = true
end
hiddenInstances = {}
-- Tampilkan GUI inti tertentu yang disembunyikan
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end)

Referensi API

Fungsi

konfigurasi

konfigurasi(config: table)

Mengganti opsi konfigurasi default melalui kunci/nilai berikut dalam tabel config. Fungsi ini hanya dapat dipanggil dari LocalScript.

KunciDeskripsiDefault
frameMessagePesan yang ditampilkan di bagian bawah foto. Durasi dapat dikendalikan melalui properti fadeUiDelay."Gunakan perangkat Anda untuk mengambil tangkapan layar dan bagikan!"
fadeUiDelayWaktu untuk menampilkan pesan bingkai sebelum memudar, dalam detik. Atur ke angka negatif untuk tidak pernah memudar.3
closeButtonImageGambar yang digunakan untuk tombol tutup foto, ditempatkan di atas gambar closeButtonBackgroundImage."rbxassetid://7027440823"
closeButtonBackgroundImageGambar latar belakang yang digunakan untuk tombol tutup foto."rbxassetid://7027440891"
cameraLandscapePositionJarak kamera kios foto, di depan dan ke atas dari karakter, saat mengambil foto dalam mode lanskap (Vector2).(5, 2)
cameraPortraitPositionJarak kamera kios foto, di depan dan ke atas dari karakter, saat mengambil foto dalam mode potret (Vector2).(10, 1)
countdownFontFont yang digunakan untuk angka dalam hitungan mundur (Enum.Font).GothamBlack
countdownTextColorWarna angka dalam hitungan mundur (Color3).[255, 255, 255]
printoutCharacterPositionPosisi karakter di layar saat cetakan ditampilkan (UDim2).(0.5, 0, 0.5, 0)
printoutCharacterSizeJumlah ruang layar yang diambil karakter dalam cetakan (UDim2).(1, 0, 1, 0)
characterAnimationID aset dari animasi yang diambil karakter dalam foto, dijeda di bingkai awalnya."rbxassetid://6899663224"
filterImageGambar yang diterapkan di atas foto sebagai filter. Jika nil, filter default yang menggelapkan tepi gambar akan digunakan.nil
LocalScript - ConfigurePhotoBooth
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.configure({
frameMessage = "Pose yang keren!",
fadeUiDelay = 5,
maxActivationDistance = 5,
printoutCharacterSize = UDim2.fromScale(1.5, 1.5),
})

setBackgrounds

setBackgrounds(backgrounds: table)

Mengganti latar belakang default yang disediakan oleh kios foto. Gambar latar belakang harus memiliki rasio aspek 16:9 (1024×576) untuk pengalaman yang optimal dan ID aset mereka harus disertakan dalam array latar belakang. 1–4 (inklusif) latar belakang dapat disediakan.

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

Acara

countdownStarted

Dipicu ketika hitungan mundur dimulai. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.countdownStarted:Connect(function()
print("Hitungan mundur telah dimulai")
end)

printoutShown

Dipicu ketika cetakan ditampilkan kepada pengguna. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.printoutShown:Connect(function()
print("Cetakan sedang ditampilkan")
end)

promptShown

Dipicu ketika cetakan ditutup dan tombol kamera ditampilkan lagi. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.promptShown:Connect(function()
print("Prompt kamera sedang ditampilkan")
end)

Callback

hideOtherGuis

hideOtherGuis(callback: function)

Callback ini dijalankan segera sebelum cetakan ditampilkan, memungkinkan Anda untuk menonaktifkan seluruh ScreenGuis atau elemen di dalamnya sebelum cetakan ditampilkan. GUI yang digunakan oleh kios foto memiliki atribut ShowInPhotoBooth diatur ke true. Lihat Visibilitas GUI untuk detail dan contoh kode.

showOtherGuis

showOtherGuis(callback: function)

Callback ini dijalankan setelah cetakan ditutup, memungkinkan Anda untuk mengaktifkan kembali seluruh ScreenGuis atau elemen di dalamnya. GUI yang digunakan oleh kios foto memiliki atribut ShowInPhotoBooth diatur ke true. Lihat Visibilitas GUI untuk detail dan contoh kode.

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.