Decal

Veraltete anzeigen

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

Das Abzeichen-Objekt ist ein Objekt, das ein Bild auf das Gesicht eines BasePart anwendet.

Wie funktioniert ein Abzeichen?

Ein Abzeichen wird ein Bild auf die BasePart anwenden, der es zugewiesen ist.Die Oberfläche, auf die dieses Bild angewendet wird, hängt von der EigenschaftenFaceInstance.Face ab.Die Größe des Abzeichens hängt von der Größe des Gesichts ab, d. h. die Größe und Aspektverhältnis eines Abzeichens können durch Ändern der Größe und Aspektverhältnis eines übergeordnetes Teilgeändert werden BasePart.Size.

Das Bild, auf das ein Abzeichen angewendet wird, wird durch seine Decal.Texture Eigenschaftenbestimmt.Bilder können auf Roblox hochgeladen werden, vorausgesetzt, sie halten sich an die Community-Richtlinien.Für Informationen darüber, wie Bilder hochgeladen werden, siehe Texturen und Bilder.

Alternativen zu Aufklebern

Obwohl Bilder eine Vielzahl von Anwendungen haben, möchten Entwickler in manchen Fällen stattdessen eine der folgenden Klassen wählen.

  • Für wiederholte geflieste Texturen sollte das Texture Objekt verwendet werden
  • Um GUI-Elemente anzuwenden, sollte das SurfaceGui Objekt verwendet werden
  • Wenn der Effekt der Beleuchtung auf das Bild geändert werden muss, sollte das SurfaceGui Objekt verwendet werden

Code-Beispiele

The following code will create a Part on the ground with a Decal applied to its top face. When something hits the part, such as when a player walks over it, the texture applied to the decal will change and a sound will play.

Changing Decal Texture

-- create part
local part = Instance.new("Part")
part.Size = Vector3.new(5, 1, 5)
part.Position = Vector3.new(0, 0.5, 0)
part.Anchored = true
part.TopSurface = Enum.SurfaceType.Smooth
part.BrickColor = BrickColor.new("Toothpaste")
-- create decal
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Top
decal.Parent = part
-- create sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = part
-- define faces
local happyFace = "http://www.roblox.com/asset/?id=26424652"
local sadFace = "http://www.roblox.com/asset/?id=147144198"
decal.Texture = happyFace
-- touched event
local cooldown = false
part.Touched:Connect(function(hit)
if not cooldown then
if hit and hit.Parent then
cooldown = true
sound:Play()
decal.Texture = sadFace
task.wait(1)
decal.Texture = happyFace
task.wait(0.2)
cooldown = false
end
end
end)
-- add to workspace
part.Parent = workspace

Zusammenfassung

Eigenschaften

Eigenschaften von FaceInstance übernommen
  • Parallel lesen

    Legt fest, auf welchem Gesicht des Ziegel das Objekt erscheint.

Eigenschaften

Color3

Parallel lesen

Die Color3 Tönung der Decal.

Entwickler sollten beachten, dass diese Eigenschaft nur die Tönung des Decalfestlegt, nicht die Farbe.Das bedeutet, es sei denn, das Bild, das mit dem Decal verbunden ist, war ursprünglich weiß (RGB = 1,1,1), dann kann die Farbe nicht frei geändert werden, indem diese Eigenschaftenverwendet wird.

Durch die Reduzierung der RGB-Eigenschaften von Color3 in Union können Entwickler ein Abzeichen dunkler machen.

Code-Beispiele

This code sample creates a Decal in the workspace and changes its Decal.Color3 property on a loop using TweenService.

Decal Color3

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Size = Vector3.new(10, 10, 1)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Transparency = 1
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Front
decal.Texture = "http://www.roblox.com/asset/?id=1145367640" -- white circle
decal.Parent = part
part.Parent = workspace
local redTween = TweenService:Create(
decal,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{ Color3 = Color3.new(1, 0, 0) }
)
local greenTween = TweenService:Create(
decal,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{ Color3 = Color3.new(0, 1, 0) }
)
local blueTween = TweenService:Create(
decal,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out),
{ Color3 = Color3.new(0, 0, 1) }
)
while true do
redTween:Play()
redTween.Completed:Wait()
greenTween:Play()
greenTween.Completed:Wait()
blueTween:Play()
blueTween.Completed:Wait()
end

LocalTransparencyModifier

Verborgen
Nicht repliziert
Parallel lesen

Funktioniert als Multiplikator für das EigenschaftenDecal.Transparency des Decal. Die Effekte sind nur für die Players.LocalPlayer sichtbar.

Diese Eigenschaft sollte in Situationen verwendet werden, in denen Decal.Transparency durch ein anderes Skript, das. PL: die Skriptsfestgelegt wird.Der Vorteil von LocalTransparencyModifier ist, dass er ohne Bedenken für das ursprüngliche Decal.Transparency des Decal geändert werden kann

Wenn LocalTransparencyModified auf 1 gesetzt ist, wird die Decal völlig unsichtbar sein, unabhängig von seiner ursprünglichen Transparenz.Wenn es auf 0 gesetzt ist, stimmt die Rendertoleranz des Decalder Decal.Transparency Wert überein.Die Formel dafür lautet:


Displayed Transparency = Transparency + ((1 - Transparency) * LocalTransparencyModifier)

Beachten Sie, dass diese Eigenschaft nur auf dem Client verwendet werden sollte und sich nicht auf den Server replizieren wird.

Für eine Variante dieser Eigenschaft für BaseParts siehe BasePart.LocalTransparencyModifier .

Texture

ContentId
Parallel lesen

Die Inhalts-ID des Bildes, das vom Decal angewendet werden soll.

Wie kann ich ein Abzeichen hochladen?

Bilder können auf Roblox hochgeladen werden, vorausgesetzt, sie halten sich an die Community-Richtlinien.Für Informationen darüber, wie Bilder hochgeladen werden, siehe Texturen und Bilder.

Wie finde ich die Inhalts-ID eines Bildes?

Im Gegensatz zu Sound und Animation Objekten ist die Inhalts-ID eines Abzeichens nicht gleich der Nummer in der URL.Es gibt zwei Hauptwege, um die Inhalts-ID eines Abzeichens zu finden:

  • Füge die URL in das Textur-Eigenschaft in Roblox Studio ein.Roblox aktualisiert die Eigenschaft automatisch auf die richtige Inhalts-ID.Beachte, dass dies nur in Roblox Studio funktioniert und nicht von Skripten oder während des Spiels ausgeführt werden kann.
  • Füge das Bild ins Spiel ein, dies geschieht in der Regel über die Toolbox unter 'Meine Bilder'.Die Inhalts-ID kann im eingefügten Abzeichen gefunden werden.Beachten Sie, InsertService:LoadAsset() kann auch verwendet werden, wenn Entwickler diese Methode automatisieren möchten.

Code-Beispiele

The following code will create a Part on the ground with a Decal applied to its top face. When something hits the part, such as when a player walks over it, the texture applied to the decal will change and a sound will play.

Changing Decal Texture

-- create part
local part = Instance.new("Part")
part.Size = Vector3.new(5, 1, 5)
part.Position = Vector3.new(0, 0.5, 0)
part.Anchored = true
part.TopSurface = Enum.SurfaceType.Smooth
part.BrickColor = BrickColor.new("Toothpaste")
-- create decal
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Top
decal.Parent = part
-- create sound
local sound = Instance.new("Sound")
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = part
-- define faces
local happyFace = "http://www.roblox.com/asset/?id=26424652"
local sadFace = "http://www.roblox.com/asset/?id=147144198"
decal.Texture = happyFace
-- touched event
local cooldown = false
part.Touched:Connect(function(hit)
if not cooldown then
if hit and hit.Parent then
cooldown = true
sound:Play()
decal.Texture = sadFace
task.wait(1)
decal.Texture = happyFace
task.wait(0.2)
cooldown = false
end
end
end)
-- add to workspace
part.Parent = workspace

TextureContent

Parallel lesen

Transparency

Parallel lesen

Bestimmt die Transparenz des Decal mit 0 vollständig undurchsichtig und 1 vollständig durchsichtig.

Beachten Sie, Decals respektiert auch die Transparenz der ursprünglichen Bilddatei, die auf Roblox hochgeladen wurde.Das bedeutet, dass die Transparenz vor dem Hochladen auf Roblox geändert werden kann, und ohne die Notwendigkeit, die Eigenschaftenzu verwenden.

Decal.LocalTransparencyModifier fungiert als Multiplikator für die Transparenz des Abzeichens und sollte verwendet werden, wenn die Transparenz des Abzeichens durch ein anderes Skript, das. PL: die Skriptsmöglicherweise geändert wird, wie es bei Charakteren des Spielers der Fall ist.

Für BaseParts siehe BasePart.Transparency.

Code-Beispiele

The code below will create a transparent Part with a decal that will fade in and out using TweenService and Decal.Transparency.

Fading Decal

local TweenService = game:GetService("TweenService")
local part = Instance.new("Part")
part.Size = Vector3.new(10, 10, 1)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Transparency = 1
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Front
decal.Texture = "http://www.roblox.com/asset/?id=699259085" -- roblox logo
decal.Parent = part
part.Parent = workspace
local tween = TweenService:Create(
decal,
TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, -1, true),
{ Transparency = 1 }
)
tween:Play()

ZIndex

Parallel lesen

ZIndex legt die Reihenfolge fest, in der Bilder auf derselben Face von einem BasePart gerendert werden.Aufkleber werden in aufsteigender Prioritäts顺序 gerendert, wo niedrigere Werte zuerst gerendert werden.Daher wird ein Abzeichen mit einem höheren ZIndex später (und auf dem Kopf) andere Abzeichen mit niedrigerem ZIndex gerendert.

Die Reichweite gültiger Werte reicht von -MAX_INT bis MAX_INT, einschließlich (2,147,483,647 oder (2^31 - 1)).Wenn Sie sich nicht sicher sind, ob Sie in Zukunft ein Abzeichen zwischen zwei bereits vorhandenen Abzeichen legen müssen, kann es eine gute Idee sein, Multiplikatoren von 100 zu verwenden, d. h.0, 100, 200.Dies gewährleistet eine große Lücke von ZIndex-Werten, die Sie für Elemente verwenden können, die zwischen anderen Elementen gerendert werden.

Siehe auch:

  • GuiObject.ZIndex , ein Eigenschaft, die sich ähnlich verhält, aber für GUI-Elemente

Methoden

Ereignisse