Decal

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

图标对象是一个应用图像到BasePart面的对象。

如何使用图标?

一个贴花将图像应用到BasePart 它所属的父级。 表面上该贴花应用的是基于FaceInstance.Face 属性的。 装al的大小取决于面的大小,意味着装al的大小和外观比例可以通过改变其父元素级的 BasePart.Size 来改变。

应用的图像由其 Decal.Texture 属性确定。图像可以上传到 Roblox,只要它们遵守社区指南。有关上传图像的信息,请参阅 纹理和装饰

图标的替代

尽管图标有很多应用,但在某些情况下,开发人员可能会选择以下类别。

  • 对于重复的地砖文本,应该使用 Texture 对象
  • 要应用 GUI 元素,应该使用 SurfaceGui 对象
  • 如果需要改变图像上照明的效果,请使用 SurfaceGui 对象

代码示例

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

概要

属性

继承自FaceInstance属性

属性

Color3

读取并联

Datatype.Color3 的涂色。Decal 的。

开发人员应注意,这个属性只是设置图贴花的阴影,而不是颜色。这意味着,除非 Decal 与图像原本是白色(RGB = 1,1,1),否则颜色无法使用此属性。

通过在组合合中减少 Color3 的 RGB 属性,开发人员可以使装al更暗。

代码示例

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

隐藏
未复制
读取并联

作为图标的 Class.Decal.Transparency 属性的倍增器。效果仅对 Decal.Transparency 可见。

这个属性在使用 Decal.Transparency 被脚本置的情况下使用。本透明度调整器的好处是,它可以在不考虑原始 Decal.Transparency 的情况下更改。

当LocalTransparencyModifier设置为1时,Decal 将无论其原始透明度如何,完全隐藏。当它设置为0时,Decal.Transparency 将匹配。公式如下:


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

注意,此属性仅应用于客户端,不会复制到服务器。

对于这个属性的变体,请参阅 BaseParts 中的 BasePart.LocalTransparencyModifier

Texture

ContentId
读取并联

应用于 Decal 的图像的内容ID。

我如何上传图像?

图像可以上传到 Roblox ,但必须遵守社区指南。有关上传图像的信息,请参阅纹理和装饰

如何查找我如何查找标签的内容 ID?

SoundAnimation 对象不同,标签的内容 ID 不是 URL 中的数字。有两种主要方法来找到标签的内容 ID:

  • 将 URL 粘贴到 Roblox Studio 中的 Texture 属性。Roblox 会自动将属性更新到正确的内容 ID。请注意,这只能在 Roblox Studio 中执行,无法从脚本或运行时游戏中执行。
  • 将图标插入游戏,这通常通过“我的图标”下的工具箱进行。 工具ID可以在插入的图标中找到。 注意,InsertService:LoadAsset() 也可以用于自动化此方法。

代码示例

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

读取并联

确定 Decal 的透明度,0 完全不透明,1 完全透明。

注意,Decals也尊重原始图像文件上传到 Roblox 的透明度。这意味着在上传到 Roblox 之前,透明度可以改变,无需使用“透明度”属性。

Decal.LocalTransparencyModifier 作为多层次透明度的乘数,应用于多层次透明度的变更,例如 player 角色的透明度。

对于 BaseParts,请参阅BasePart.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

读取并联

ZIndex 确定画像在同一个 Face 上的装计在哪个顺序。装计在以下优先级순序上渲染:最低值先被渲染,然后其他装计:最低值先被渲染,然后其他装计:最低值先被渲染,然后其他装计:最低值先被渲染,然后其他装计:最低值先

有效值的范围是 -MAX_INT 到 MAX_INT,包括 (2,147,483,647 或 (2^31 - 1))。如果您不确定在将来需要在两个已有的图像之间层次一个装al,它可能是一个好主意使用多个 100 的倍数,例如 0、100、200。这确保在其他

还请参阅:

方法

活动