Decal

Mostrar obsoleto

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

El objeto de calcomanía es un objeto que aplica una imagen a una cara de un BasePart .

¿Cómo funciona una etiqueta?

Una Imagen aplicará una imagen a la BasePart a la que se aplica. La superficie en la que se aplica esta imagen depende de la propiedad FaceInstance.Face . El tamaño de la imagen depende del tamaño de la cara, lo que significa que el tamaño y el aspecto del decal se puede cambiar cambiando la propiedad de su padre Class.BasePart.Size

La imagen a la que se aplica un Decal se determina por su propiedad de Decal.Texture . Las imágenes se pueden subir a Roblox siempre que cumplan con las pautas de la comunidad.Para obtener información sobre cómo subir imágenes, consulte Texturas y Decals .

Alternativas a los gráficos

Aunque los decals tienen una gran variedad de aplicaciones, en algunos casos los desarrolladores pueden preferir elegir una de las siguientes clases en su lugar.

  • Para texturas de repetición, se debe usar el objeto Texture
  • Para aplicar elementos de GUI, el objeto SurfaceGui debe usarse
  • Si el efecto de iluminación en la imagen debe ser alterado, el objeto SurfaceGui debe usarse

Amostras de código

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

El tinte de Color3 de la Decal .

Los desarrolladores deben tener en cuenta que esta propiedad solo establece el tinte de la adhesivo, no el color. Esto significa, a menos que la imagen asociada con el Decal fuera originalmente blanca (RGB = 1,1,1) entonces el color no se puede cambiar libremente con esta propiedad.

Al reducir las propiedades RGB de Color3 en la unión, los desarrolladores pueden hacer que un decal sea más oscuro.

Amostras de código

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

Actúa como multiplicador de la propiedad Decal.Transparency de la adhesivo. Los efectos solo son visibles para el Players.LocalPlayer .

Esta propiedad se debe utilizar en situaciones en las que Decal.Transparency está siendo establecido por un script diferente. El beneficio de LocalTransparencyModifier es que se puede cambiar sin preocuparse por el Decal.Transparency original del Decal

Cuando LocalTransparencyModifier está configurado como 1, el Decal será completamente invisible independientemente de su transparencia original. Cuando está configurado como 0, la transparencia del adhesivose alineará con el valor Decal.Transparency de la fórmula. La fórmula para esto es:


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

Nota, esta propiedad solo se debe usar en el cliente y no se replicará al servidor.

Para una variante de esta propiedad para BaseParts , vea BasePart.LocalTransparencyModifier .

Texture

ContentId
Ler Parallel

El ID de contenido de la imagen a aplicar por el Decal .

¿Cómo puedo subir un calcomanía?

Las imágenes se pueden subir a Roblox siempre que cumplan con las directrices de la comunidad. Para obtener información sobre cómo subir imágenes, see Texturas y Decals .

¿Cómo encuentro el ID de contenido de una Imagen?

A diferencia de con Sound y Animation objetos, el ID de Contenido de un Decal no es el mismo que el número en la URL. Hay dos formas principales de encontrar el ID de Contenido de un Decal:

  • Pega la URL en la propiedad Textura en Roblox Studio. Roblox actualizará automáticamente la propiedad a la ID de contenido correcta. Nota esto solo funciona en Roblox Studio y no se puede hacer desde Scripts o mientras se está ejecutando el juego.
  • Inserta la Imagen en el juego, esto se generalmente hace a través de la Caja de herramientas debajo de 'Mis imágenes'. El ID de Contenido se puede encontrar en la imagen que se inserta. Nota, InsertService:LoadAsset() también se puede usar si los desarrolladores desean automatizar este método.

Amostras de código

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

Ler Parallel

Determina la transparencia del Decal con 0 siendo completamente opaco y 1 completamente transparente.

Nota, Decals también respeta la transparencia del archivo de imagen original subido a Roblox. Esto significa que la transparencia se puede cambiar antes de subir a Roblox, y sin la necesidad de usar la propiedad de transparencia.

Decal.LocalTransparencyModifier actúa como multiplicador para la transparencia del decal y debe usarse cuando la transparencia del decal es probable que sea cambiada por otro script, como es el caso con los personajes de los jugadores.

Para BaseParts, see BasePart.Transparency .

Amostras de código

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 el orden en que se renderizan las imágenes en el mismo Face de un BasePart de decal. Las imágenes se renderizan en el orden de prioridad de abajo a arriba, donde los valores más bajos se renderizan primero. Por lo tanto, una imagen con un ZIndex más alto rendirá más tarde (y en la parte

El rango de valores válidos es -MAX_INT a MAX_INT, incluido (2,147,483,647 o (2^31 - 1)) si estás seguro de que necesitarás una capa de calcomanía entre dos calcomanías existentes en el futuro, puede ser una buena idea usar multiplicadores de 100, es decir, 0, 100, 200. Esto gar

Véase también:

  • GuiObject.ZIndex , una propiedad que se comporta similarmente, pero para los elementos de GUI

Métodos

Eventos