Decal

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Decal object là một đối tượng áp dụng hình ảnh lên một trang BasePart .

Làm thế nào một Decal hoạt động?

Một Decal sẽ áp dụng hình ảnh cho BasePart nó được gắn với. Bề mặt mà hình ảnh được áp dụng đều phụ thuộc vào FaceInstance.Face thuộc tính. Kích thước của hình ả

Hình ảnh mà một Decal áp dụng được xác định bởi thuộc tính của nó Decal.Texture . Hình ảnh có thể được tải lên Roblox miễn là chúng tuân theo các hướng dẫn cộng đồng. Để biết cách tải hình ảnh, hãy xem Textures và Decals .

Alternatives for Decals

Mặc dù Decals có một loạt các ứng dụng, nhưng trong một số trường hợp, các nhà phát triển có thể muốn chọn một trong những lớp sau đây thay vào đó.

  • Đối với các thành phần textures lặp lại, thể Texture được sử dụng
  • Để áp dụng các thành phần GUI, đối tượng SurfaceGui nên được sử dụng
  • Nếu hiệu ứng chiếu sáng trên hình ảnh cần phải được thay đổi, thì đối tượng SurfaceGui nên được sử dụng

Mẫu mã

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

Tóm Tắt

Thuộc Tính

  • Đọc Song Song

    Màu sắc Color3 của Class.Decal .

  • Ẩn
    Không Sao Chép
    Đọc Song Song

    Hành động như một nhân tố nhân bản cho đặ性 Decal.Transparency của hình ảnh. Hiệu ứng chỉ được hiển thị cho người chơi địa phương.

  • Texture:ContentId
    Đọc Song Song

    Id hình ảnh để được áp dụng bởi Decal .

  • Đọc Song Song

    Xác định độ trong suốt của Decal với 0 hoàn toàn bị mờ và 1 hoàn toàn trong suốt.

  • Đọc Song Song

    Xác định thứ tự xử lý khi nhiều hình ảnh được gắn với cùng một khuôn mặt.

Thuộc Tính kế thừa từ FaceInstance
  • Đọc Song Song

    Đặt vị trí mặt của đối tượng lên trên khuôn mặt gạch.

Thuộc Tính

Color3

Đọc Song Song

Màu sắc Color3 của Class.Decal .

Các nhà phát triển nên lưu ý rằng thuộc tính này chỉ đặt màu của hình ảnh, chứ không phải màu. Điều này có nghĩa là, trừ khi hình ảnh được liên kết với Decal ban đầu là trắng (RGB = 1,1,1) thì màu này không thể được thay đổi mà

Bằng cách giảm các thuộc tính RGB của Color3 trong liên minh, các nhà phát triển có thể làm cho một decal tối hơn.

Mẫu mã

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

Ẩn
Không Sao Chép
Đọc Song Song

Hành động như một nhân tố nhân bản cho đặc tính Decal.Transparency của đề can. Các hiệu ứng chỉ được hiển thị cho Players.LocalPlayer .

Đặ性 này nên được sử dụng trong những tình huống nơi Decal.Transparency được định bởi một script khác. Lợi ích của LocalTransparencyModifier là nó có thể được thay đổi mà không lo lắng về nguyên bản Decal.Transparency của Decal

Khi LocalTransparencyModifier được đặt để 1, Decal sẽ hoàn toàn vô hình bất kể độ trong suốt của nó. Khi nó được đặt để 0, độ trong suốt của đề cansẽ khớp nối với giá trị Decal.Transparency . Công thức cho điều này là:


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

Ghi chú, thuộc tính này chỉ nên được sử dụng trên máy chủ và sẽ không bị sao chép đến máy chủ.

Đối với một biến thể của thuộc tính này cho BaseParts , xem BasePart.LocalTransparencyModifier .

Texture

ContentId
Đọc Song Song

ID Nội dung của hình ảnh để được áp dụng bởi Decal .

Làm thế nào để tải một Decal?

Hình ảnh có thể được tải lên Roblox miễn là chúng tuân theo các hướng dẫn cộng đồng. Để biết thông tin về cách tải lên hình ảnh, hãy xem Textures and Decals .

Làm thế nào để tìm kiếm Decal's Content ID?

Ngoài với SoundAnimation nối dụng, ID nội dung của một Decal không giống như số trong URL. Có hai cách chính để tìm ID nội dung của một Decal:

  • Hãy vừa URL vào thuộc tính Texture trong Roblox Studio. Roblox sẽ tự động cập nhật thuộc tính này lên Content ID chính xác. Ghi nhớ điều này chỉ hoạt động trong Roblox Studio và không thể thực hiện nó từ Scripts hoặc khi game đang chạy.
  • Thêm Decal vào trò chơi, thông thường điều này được thực hiện thông qua Hộp công cụ dưới 'Các Decal của tôi'. ID Nội dung có thể được tìm thấy trong decal được thêm. Ghi chú, InsertService:LoadAsset() cũng có thể được sử dụng nếu các nhà phát triển muốn tự động h

Mẫu mã

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

Đọc Song Song

Xác định độ trong suốt của Decal với 0 hoàn toàn bị mờ và 1 hoàn toàn trong suốt.

Ghi chú, Decals cũng tôn trọng sự trong suốt của tập tin hình ảnh gốc đã tải lên Roblox. Điều này có nghĩa là sự trong suốt có thể được thay đổi trước khi tải lên Roblox, và mà không cần phải sử dụng thuộc tính Transparency.

Decal.LocalTransparencyModifier hành động như một hệ số nhân cho độ trong suốt của Decal và nên được sử dụng khi độ trong suốt của Decal có thể được thay đổi bởi một script khác, như là trường hợp với các nhân vật người chơi.

Đối với BaseParts, xem BasePart.Transparency .

Mẫu mã

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

Đọc Song Song

ZIndex định thứ tự mà decal trên cùng Face của một BasePart được hiển thị. Decal được hiển thị theo thứ tự ưu tiên cao nhất, nơi giá trị thấp hơn được hi

Gạch đếm -MAX_INT đến MAX_INT, bao gồm (2,147,483,647 hoặc (2^31 - 1)) nếu bạn không chắc chắn rằng bạn sẽ cần phải lớp một decal giữa hai decal đã tồn tại trong tươ

Xem thêm:

  • GuiObject.ZIndex , một đặt tính tương tự, nhưng cho các thành phần GUI

Phương Pháp

Sự Kiện