Fotoautomat

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Ein Foto zu machen, ist eine perfekte Möglichkeit, ein großartiges Erlebnis festzuhalten. Das FotoBooth Entwicklermodul ist ein einfach zu bedienendes Fotostaging-Tool, mit dem die Spieler eine einzigartige Pose mit einem Hintergrund einnehmen können, der ihr Erlebnis widerspiegelt.

Modulanwenung

Installation

Um das FotoBooth-Modul in einer Erfahrung zu verwenden:

  1. Öffnen Sie aus dem Fenster-Menü von Studio oder der Toolbar des Start-Tabs die Toolbox und wählen Sie den Tab Creator Store.

  2. Stellen Sie sicher, dass die Sortierung Modelle ausgewählt ist, und klicken Sie dann auf die Schaltfläche Alle Anzeigen für Kategorien.

  3. Finden und klicken Sie auf das Pakete-Kachel.

  4. Suchen Sie das Modul Foto Booth und klicken Sie darauf oder ziehen Sie es in die 3D-Ansicht.

  5. Verschieben Sie das gesamte FotoBooth-Modell in das ReplicatedStorage im Explorer Fenster. Nach dem Ausführen der Erfahrung wird das Modul gestartet.

Positionieren Sie die Booth

Das Modul enthält ein FotoBooth-Modell, das Sie in der 3D-Welt positionieren können. Dieses Modell ist es, mit dem die Spieler interagieren werden, um ein Foto einzurichten.

  1. Suchen Sie das FotoBooth-Mesh im Workspace-Ordner des Hauptordners des Moduls.

  2. Verschieben Sie es in die oberste Workspace-Hierarchie und positionieren Sie es nach Wunsch.

Konfiguration

Das Modul ist vorkonfiguriert, um für die meisten Anwendungsfälle zu funktionieren, kann jedoch einfach über die configure Funktion angepasst werden. Beispielweise, um die Standardnachricht am unteren Rand des Fotos zu ändern:

  1. Erstellen Sie in StarterPlayerScripts ein neues LocalScript und benennen Sie es in ConfigurePhotoBooth um.

  2. Fügen Sie den folgenden Code in das neue Skript ein.

    LocalScript - ConfigurePhotoBooth

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
    PhotoBooth.configure({
    frameMessage = "Erstes Fotoautomat-Foto!",
    })

Verbindung zu Ereignissen herstellen

Jedes Mal, wenn der Fotoautomat einem lokalen Client einen neuen Bildschirm anzeigt, wird ein entsprechendes Ereignis ausgelöst. Diese Ereignisse können in einem LocalScript verbunden werden, sodass Sie mit Ihrer eigenen benutzerdefinierten Logik reagieren können.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.countdownStarted:Connect(function()
print("Der Countdown hat begonnen")
end)
PhotoBooth.printoutShown:Connect(function()
print("Der Ausdruck wird angezeigt")
end)
PhotoBooth.promptShown:Connect(function()
print("Die Kameraaufforderung wird angezeigt")
end)

GUI-Sichtbarkeit

Standardmäßig blendet der Fotoautomat alle ScreenGuis und CoreGuis aus, wenn ein Foto eingerichtet wird. Wenn Sie dieses automatische Ausblenden überschreiben und programmatisch entscheiden möchten, welche GUIs sichtbar bleiben sollen, fügen Sie die hideOtherGuis und showOtherGuis Rückrufmethoden hinzu und reagieren Sie mit Ihrer eigenen benutzerdefinierten Logik.

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 = {}
-- Erstellen Sie eine Bildschirm-GUI, die nicht ausgeblendet wird
local specialGuiInstance = Instance.new("ScreenGui")
-- Zeichnen Sie die Bildschirm-GUI über der Fotoautomaten-GUI
specialGuiInstance.DisplayOrder = 1
specialGuiInstance.Parent = playerGui
-- Setzen Sie ein Attribut auf der Bildschirm-GUI, um das Ausblenden zu verhindern
specialGuiInstance:SetAttribute("ShowInPhotoBooth", true)
-- Fügen Sie ein Textlabel zur GUI hinzu
local specialLabel = Instance.new("TextLabel")
specialLabel.Size = UDim2.fromScale(1, 0.1)
specialLabel.Text = "Bleibt sichtbar, wenn ein Foto gemacht wird"
specialLabel.Font = Enum.Font.GothamMedium
specialLabel.TextSize = 24
specialLabel.Parent = specialGuiInstance
PhotoBooth.hideOtherGuis(function()
-- Blenden Sie alle vom Entwickler definierten Bildschirm-GUIs aus, außer denen, die mit Attributen markiert sind
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
-- Blenden Sie bestimmte Core-GUIs aus
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end)
PhotoBooth.showOtherGuis(function()
-- Blenden Sie alle vom Entwickler definierten Bildschirm-GUIs wieder ein, die vorher ausgeblendet wurden
for _, instance in hiddenInstances do
instance.Enabled = true
end
hiddenInstances = {}
-- Blenden Sie bestimmte Core-GUIs, die vorher ausgeblendet wurden, wieder ein
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end)

API-Referenz

Funktionen

configure

configure(config: table)

Überschreibt die Standardkonfigurationsoptionen über die folgenden Schlüssel/Werte im config-Tisch. Diese Funktion kann nur von einem LocalScript aufgerufen werden.

SchlüsselBeschreibungStandard
frameMessageNachricht, die am unteren Rand des Fotos angezeigt wird. Ihre Dauer kann über die fadeUiDelay-Eigenschaft gesteuert werden."Nutzen Sie Ihr Gerät, um einen Screenshot zu machen und zu teilen!"
fadeUiDelayZeit, um die Rahmennachricht anzuzeigen, bevor sie ausgeblendet wird, in Sekunden. Setzen Sie auf eine negative Zahl, um das Ausblenden zu verhindern.3
closeButtonImageBild, das für die Schaltfläche zum Schließen des Fotos verwendet wird, die über das Bild closeButtonBackgroundImage gelegt wird."rbxassetid://7027440823"
closeButtonBackgroundImageHintergrundbild, das für die Schaltfläche zum Schließen des Fotos verwendet wird."rbxassetid://7027440891"
cameraLandscapePositionAbstand der Kamera des Fotoautomaten, vor und oben von der Figur, wenn ein Foto im Landschaftsmodus aufgenommen wird (Vector2).(5, 2)
cameraPortraitPositionAbstand der Kamera des Fotoautomaten, vor und oben von der Figur, wenn ein Foto im Porträtmodus aufgenommen wird (Vector2).(10, 1)
countdownFontSchriftart, die für die Zahlen im Countdown verwendet wird (Enum.Font).GothamBlack
countdownTextColorFarbe der Zahlen im Countdown (Color3).[255, 255, 255]
printoutCharacterPositionPosition der Figur auf dem Bildschirm, wenn der Ausdruck angezeigt wird (UDim2).(0.5, 0, 0.5, 0)
printoutCharacterSizeMenge an Bildschirmplatz, die die Figur im Ausdruck einnimmt (UDim2).(1, 0, 1, 0)
characterAnimationAsset-ID der Animation, die die Figur im Foto verwendet, pausiert im Startframe."rbxassetid://6899663224"
filterImageBild, das als Filter über das Foto gelegt wird. Wenn nil, wird ein Standardfilter verwendet, der die Bildränder abdunkelt.nil
LocalScript - ConfigurePhotoBooth

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.configure({
frameMessage = "Was für eine coole Pose!",
fadeUiDelay = 5,
maxActivationDistance = 5,
printoutCharacterSize = UDim2.fromScale(1.5, 1.5),
})

setBackgrounds

setBackgrounds(backgrounds: table)

Überschreibt die Standardhintergründe, die vom Fotoautomaten bereitgestellt werden. Hintergrundbilder sollten ein Seitenverhältnis von 16:9 (1024×576) für ein optimales Erlebnis haben und deren Asset-IDs sollten im Hintergrund-Array enthalten sein. Es können 1–4 (einschließlich) Hintergründe bereitgestellt werden.

LocalScript

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

Ereignisse

countdownStarted

Wird ausgelöst, wenn der Countdown beginnt. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.countdownStarted:Connect(function()
print("Der Countdown hat begonnen")
end)

printoutShown

Wird ausgelöst, wenn der Ausdruck dem Benutzer angezeigt wird. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.printoutShown:Connect(function()
print("Der Ausdruck wird angezeigt")
end)

promptShown

Wird ausgelöst, wenn der Ausdruck geschlossen wird und die Kamerataste wieder angezeigt wird. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.promptShown:Connect(function()
print("Die Kameraaufforderung wird angezeigt")
end)

Rückrufmethoden

hideOtherGuis

hideOtherGuis(callback: function)

Dieser Rückruf wird sofort vor der Anzeige des Ausdrucks ausgeführt und ermöglicht es Ihnen, gesamte ScreenGuis oder Elemente darin vor der Anzeige des Ausdrucks auszuschalten. GUIs, die vom Fotoautomaten verwendet werden, haben das Attribut ShowInPhotoBooth auf true gesetzt. Siehe GUI Sichtbarkeit für Details und Beispielcode.

showOtherGuis

showOtherGuis(callback: function)

Dieser Rückruf wird nach dem Schließen des Ausdrucks ausgeführt und ermöglicht es Ihnen, gesamte ScreenGuis oder Elemente darin wieder zu aktivieren. GUIs, die vom Fotoautomaten verwendet werden, haben das Attribut ShowInPhotoBooth auf true gesetzt. Siehe GUI Sichtbarkeit für Details und Beispielcode.

©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.