Decal
*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
-- 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
Actúa como multiplicador de la propiedad Decal.Transparency de la adhesivo. Los efectos solo son visibles para el jugador local.
El ContentId de la imagen a aplicar por el Decal .
Determina la transparencia del Decal con 0 siendo completamente opaco y 1 completamente transparente.
Determina el orden de renderizado cuando se asignan múltiples calcomanías el mismo rostro.
Define qual rosto do tijolo o objeto aparece.
Propriedades
Color3
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
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
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
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
-- 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
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
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
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