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

O seguinte código criará um Part no chão com um Decal aplicado à sua face superior.Quando algo atinge a peça, como quando um jogador caminha sobre ela, a textura aplicada ao adesivo mudará e um som será reproduzido.

Mudando a Textura da Imagem

-- criar parte
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")
-- criar decalque
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Top
decal.Parent = part
-- criar som
local sound = Instance.new("Sound")
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = part
-- definir faces
local happyFace = "http://www.roblox.com/asset/?id=26424652"
local sadFace = "http://www.roblox.com/asset/?id=147144198"
decal.Texture = happyFace
-- evento tocado
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)
-- adicionar ao espaço de trabalho
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

Este exemplo de código cria um Decal no espaço de trabalho e altera sua propriedade Decal.Color3 em um loop usando TweenService .

Cor da Imagem3

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" -- circulo branco
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

O seguinte código criará um Part no chão com um Decal aplicado à sua face superior.Quando algo atinge a peça, como quando um jogador caminha sobre ela, a textura aplicada ao adesivo mudará e um som será reproduzido.

Mudando a Textura da Imagem

-- criar parte
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")
-- criar decalque
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Top
decal.Parent = part
-- criar som
local sound = Instance.new("Sound")
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = part
-- definir faces
local happyFace = "http://www.roblox.com/asset/?id=26424652"
local sadFace = "http://www.roblox.com/asset/?id=147144198"
decal.Texture = happyFace
-- evento tocado
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)
-- adicionar ao espaço de trabalho
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