Decal

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O objeto Decal é um objeto que aplica uma imagem a um rosto de um BasePart .

Como funciona um Adesivo?

Um Adesivo aplicará uma imagem ao BasePart que é parente.A superfície para a qual essa imagem é aplicada depende da propriedade FaceInstance.Face.O tamanho do adesivo depende do tamanho do rosto, significa que o tamanho e a proporção de aspecto de um adesivo podem ser alterados alterando o tamanho e a proporção de aspecto de seu pai BasePart.Size.

A imagem a que um Adesivo se aplica é determinada por sua propriedade Decal.Texture.Imagens podem ser carregadas no Roblox, desde que adiram às diretrizes da comunidade.Para obter informações sobre como carregar imagens, veja Texturas e Decalques.

Alternativas a Imagens de Adesivos

Embora as Imagens tenham uma grande variedade de aplicações, em alguns casos os desenvolvedores podem desejar escolher uma das seguintes classes em vez disso.

  • Para texturas de ladrilho repetidas, o objeto Texture deve ser usado
  • Para aplicar elementos de GUI, o objeto SurfaceGui deve ser usado
  • Se o efeito de iluminação na imagem precisar ser alterado, o objeto SurfaceGui deve ser usado

Amostras de código

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

Resumo

Propriedades

Propriedades herdados de FaceInstance

Propriedades

Color3

Ler Parallel

A tintura Color3 da Decal.

Os desenvolvedores devem notar que essa propriedade só define a tonalidade do adesivo, e não a cor.Isso significa, a menos que a imagem associada ao Decal fosse originalmente branca (RGB = 1,1,1), então a cor não pode ser alterada livremente usando essa propriedade.

Ao reduzir as propriedades RGB de Color3 em união, os desenvolvedores podem tornar um distintivo mais escuro.

Amostras de código

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

Oculto
Não replicado
Ler Parallel

Atua como multiplicador para a propriedade Decal.Transparency do adesivo. Os efeitos são visíveis apenas para o Players.LocalPlayer .

Essa propriedade deve ser usada em situações em que Decal.Transparency está sendo definido por um script diferente.O benefício do Modificador de Transparência Local é que ele pode ser alterado sem preocupação com o original Decal.Transparency do Decal

Quando o Modificador de Transparência Local é definido como 1, o Decal será completamente invisível, independentemente de sua transparência original.Quando definido como 0, a transparência renderizada do adesivo corresponderá ao valor Decal.Transparency.A fórmula para isso é:


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

Observe, essa propriedade deve ser usada apenas no cliente e não se replicará para o servidor.

Para uma variante dessa propriedade para BaseParts , veja BasePart.LocalTransparencyModifier .

Texture

ContentId
Ler Parallel

O ID de Conteúdo da imagem a ser aplicada pelo Decal .

Como posso carregar uma Imagem?

Imagens podem ser carregadas no Roblox, desde que sigam as diretrizes da comunidade.Para obter informações sobre como carregar imagens, veja Texturas e Imagens.

Como encontrar ID de Conteúdo de uma Imagem?

Ao contrário de Sound e Animation objetos, o ID de Conteúdo de um Adesivo não é o mesmo que o número na URL.Existem duas maneiras principais de encontrar o ID de Conteúdo de um Adesivo:

  • Cole o URL na propriedade Textura no Roblox Studio.O Roblox atualizará automaticamente a propriedade para o ID de conteúdo correto.Observe que isso só funciona no Roblox Studio e não pode ser feito de Scripts ou enquanto o jogo estiver em execução.
  • Insira o Adesivo no jogo, isso é geralmente feito através da Caixa de Ferramentas sob 'Meus Adesivos'.O ID do Conteúdo pode ser encontrado no adesivo que é inserido.Observe, InsertService:LoadAsset() também pode ser usado se os desenvolvedores desejarem automatizar esse método.

Amostras de código

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

Ler Parallel

Transparency

Ler Parallel

Determina a transparência do Decal com 0 sendo completamente opaco e 1 completamente transparente.

Observe, Decals também respeita a transparência do arquivo de imagem original carregado no Roblox.Isso significa que a transparência pode ser alterada antes de carregar no Roblox, e sem a necessidade de usar a propriedade de Transparência.

Decal.LocalTransparencyModifier atua como multiplicador para a transparência do Adesivo e deve ser usado quando a transparência do adesivo provavelmente será alterada por outro script, como é o caso com os Personagens do jogador.

Para BaseParts, veja BasePart.Transparency.

Amostras de código

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

Ler Parallel

ZIndex determina a ordem em que os decalques no mesmo Face de um BasePart são renderizados.Decalques são renderizados em ordem crescente de prioridade, onde os valores mais baixos são renderizados primeiro.Portanto, um adesivo com um ZIndex mais alto é renderizado mais tarde (e sobre) outros adesivos com menor ZIndex.

O alcance de valores válidos é -MAX_INT a MAX_INT, incluindo (2,147,483,647 ou (2^31 - 1)).Se você não tem certeza se precisará sobrepor um adesivo entre dois adesivos já existentes no futuro, pode ser uma boa ideia usar múltiplos de 100, ou seja0, 100, 200.Isso garante uma grande lacuna de valores de ZIndex que você pode usar para elementos renderizados entre outros elementos.

Veja também:

  • GuiObject.ZIndex , uma propriedade que se comporta de forma semelhante, mas para elementos de GUI

Métodos

Eventos