Decal

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

L'oggetto Decal è un oggetto che applica un'immagine a un'espressione di un BasePart .

Come funziona un'immagine?

Un Decal applicerà un'immagine alla BasePart a cui è parented to. La superficie su cui viene applicata questa immagine dipende dalla proprietà FaceInstance.Face . La dimensione di questo decal è dipendente dalla dimensione e dalla proporzione del viso, il che significa che la dimensione e l'aspetto della decal può essere cambiato cambiando la proprietà Class.Base

L'immagine a cui viene applicato un Decal è determinata dalla sua ProprietàDecal.Texture. Le immagini possono essere caricate su Roblox a patto che rispettino le linee guida della comunità.Per informazioni su come caricare le immagini, vedi Textures e Decals .

Alternative ai Decali

Anche se i Decal hanno una gamma ampia di applicazioni, in alcuni casi gli sviluppatori potrebbero preferire scegliere una delle seguenti classi invece.

  • Per le texture a griglia ripetute, l'oggetto Texture dovrebbe essere utilizzato
  • Per applicare gli elementi GUI, l'oggetto SurfaceGui deve essere utilizzato
  • Se l'effetto di illuminazione sull'immagine deve essere modificato, l'oggetto SurfaceGui deve essere utilizzato

Campioni di codice

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

Sommario

Proprietà

Proprietà provenienti da FaceInstance
  • Lettura Parallela

    Imposta quale faccia del mattone l'oggetto appare.

Proprietà

Color3

Lettura Parallela

Il tono Color3 della Decal .

Gli sviluppatori dovrebbero notare che questa proprietà non imposta solo il tono della Decalcomania, ma non il colore. Ciò significa, a meno che l'immagine associata con il Decal non fosse originariamente bianca (RGB = 1,1,1) allora il colore non può essere cambiato liberamente utilizzando questa Proprietà.

Riducendo le proprietà RGB di Color3 nell'unione, gli sviluppatori possono rendere un'immagine più scura.

Campioni di codice

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

Nascosto
Non Replicato
Lettura Parallela

Agisce come moltiplicatore della ProprietàDecal.Transparency della Decalcomania. Gli effetti sono visibili solo al Players.LocalPlayer .

Questa proprietà dovrebbe essere utilizzata in situazioni in cui Decal.Transparency viene impostato da uno script diverso. Il vantaggio di LocalTransparencyModifier è che può essere cambiato senza preoccuparsi per il Decal.Transparency originale delle Decal

Quando LocalTransparencyModifier è impostato su 1, il Decal diventerà completamente invisibile indipendentemente dalla sua trasparenza originale. Quando è impostato su 0, la trasparenza della Decalcomaniasi abbinerà al valore Decal.Transparency . La formula per questo è:


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

Nota, questa proprietà dovrebbe essere utilizzata solo sul client e non si replica al Server.

For a variant of this property for BaseParts , see BasePart.LocalTransparencyModifier .

Texture

ContentId
Lettura Parallela

L'ID del contenuto dell'immagine da applicare con il Decal .

Come posso caricare un'immagine?

Gli immagini possono essere caricati su Roblox a patto che rispettino le linee guida della comunità. Per informazioni su come caricare gli immagini, vedi Texture e Decals.

Come trovo l'ID del contenuto di un'immagine?

A differenza di Class.Sound e Class.Animation oggetti, l'ID del Contenuto di un Decal non è lo stesso che il numero nell'URL. Ci sono due modi principali per trovare l'ID del Contenuto di un Decal:

  • Incolla l'URL nella proprietà Texture in Roblox Studio. Roblox aggiorerà automaticamente la proprietà al corretto ID Contenuto. Nota che questo funziona solo in Roblox Studio e non può essere fatto dagli script o mentre il gioco è in esecuzione.
  • Inserisci il Decal nel Gioco, questo viene generalmente fatto attraverso la Toolbox sotto 'My Decals'. L'ID del contenuto può essere troato nell'adesivo che viene inserito. Nota, InsertService:LoadAsset() può anche essere utilizzato se gli sviluppatori vogliono automatizzare questo metodo.

Campioni di codice

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

Transparency

Lettura Parallela

Determina la trasparenza del Decal con 0 essere completamente opaco e 1 completamente trasparente.

Nota, Decals rispetta anche la trasparenza del file dell'immagine originale caricato su Roblox. Ciò significa che la trasparenza può essere cambiata prima dell'invio su Roblox, e senza il bisogno di utilizzare la ProprietàTrasparenza .

Decal.LocalTransparencyModifier agisce come moltiplicatore della trasparenza della decal e dovrebbe essere utilizzato quando la trasparenza della decal è probabile essere cambiata da uno script, come nel caso dei personaggi del giocatore.

For BaseParts , see BasePart.Transparency .

Campioni di codice

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

Lettura Parallela

ZIndex determina l'ordine in cui vengono visualizzati i decal sulle stesse Face di un BasePart . I decal vengono visualizzati in ordine di priorità crescente, in cui i valori più bassi vengono visualizzati prima. Pertanto, un decal con un ZIndex più alto rende più tardi (e sopra) altri decal con

Il range di valori vali è -MAX_INT a MAX_INT, incluso (2,147,483,647 o (2^31 - 1)) se sei incerto se dovrai aggiungere una decal tra due decal esistenti in futuro, è una buona idea usare i multipli di 100, cioè 0, 100, 200. Ciò garantisce uno spaz

Vedi anche:

  • GuiObject.ZIndex , una proprietà che si comporta allo stesso modo, ma per gli elementi GUI

Metodi

Eventi