Decal

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

วัตถุ Decal เป็นวัตถุที่ใช้ภาพในหน้าของ BasePart

รายละเอียดการทำงานของภาพที่วาด

ขอบเขตของภาพจะประยุกต์ภาพนี้ให้กับ BasePart ที่มันเป็นลูกของมัน พื้นผิวที่ใช้ภาพนี้ประยุกต์นั้นขึ้นอยู่กับคุณสมบัติของ

รูปภาพที่ได้รับการใช้งานเป็นรายการ จะถูกกำหนดโดยสมบุติสมบัติ 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

สรุป

คุณสมบัติ

  • อ่านพร้อมๆ กัน

    สี Color3 ของ Decal

  • ซ่อนอยู่
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    สติกเกอร์Decal.Transparency รายการ เอฟเฟกต์เหล่านี้มองเห็นได้เฉพาะผู้เล่นในเกม

  • Texture:ContentId
    อ่านพร้อมๆ กัน

    รหัสเนื้อหาของรูปภาพที่จะใช้โดย Decal

  • อ่านพร้อมๆ กัน

    กำหนดความโปร่งใสของ Decal ด้วย 0 เป็นเงื่อนไขที่เป็นอุปกรณ์ปิดกั้นและ 1 เป็นเงื่อนไขที่เป็นอุปกรณ์โปร่งใส

  • อ่านพร้อมๆ กัน

    กำหนดลำดับการเรนเดอร์เมื่อมีหลายภาพที่มีหน้าเดียวกัน

คุณสมบัติรับทอดมาจากFaceInstance
  • อ่านพร้อมๆ กัน

    ตั้งค่าให้เป็นหน้าผากของวัตถุที่ปรากฏ

คุณสมบัติ

Color3

อ่านพร้อมๆ กัน

สี Color3 ของ Decal

ผู้พัฒนาควรระวังว่าสีนี้เฉพาะสีของภาพที่เกี่ยวข้องกับ Decal เท่านั้น ซึ่งหมายถึง, ยกเว้นภาพที่เกี่ยวข้องกับ Class.Decal เริ่มต้นเป็นสีขาว (RGB = 1,1,1) แล้วสีจึ

โดยลดคุณสมบัติ RGB ของ Color3 ในสหภาพ ผู้พัฒนาสามารถทำให้ฉากมืดขึ้นได้

ตัวอย่างโค้ด

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

ซ่อนอยู่
ไม่ซ้ำ
อ่านพร้อมๆ กัน

สติกเกอร์Decal.Transparency รายการ เอฟเฟกต์เห็นได้เฉพาะกับ Players.LocalPlayer

คุณสมบัตินี้ควรใช้ในสถานการณ์ที่ Decal.Transparency กำลังตั้งโดยสคริปต์อื่น ประโยชน์ของ LocalTransparencyModifier คือสามารถเปลี่ยนแปลงได้โดยไม่ต้องกังวลเกี่ยวกับความประกายเดิ

เมื่อ LocalTransparencyModifier ตั้งค่าไว้ที่ 1, Decal จะปรากฏให้เห็นอยู่เสมอไม่ว่าจะเป็นความโปร่งใสของมันเดิม เมื่อตั้งค่าไว้ที่ 0, ความโปร่งใสของ สติกเกอร์จะตรงกับค่า


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

หมายเหตุ, คุณสมบัตินี้ควรใช้เฉพาะกับลูกค้าเท่านั้นและจะไม่เคลื่อนย้ายไปยังเซิร์ฟเวอร์

สำหรับตัวแปรของคุณสมบัตินี้สำหรับ BaseParts โปรดดู BasePart.LocalTransparencyModifier

Texture

ContentId
อ่านพร้อมๆ กัน

รหัสเนื้อหาของรูปภาพที่จะถูกประยุกต์โดย Decal

ฉันจะอัปโหลดภาพที่เป็นลายเซ็นได้อย่างไร?

สามารถอัปโหลดได้ที่ Roblox เมื่อสอดคล้องกับแนวปฏิบัติของชุมชน สำหรับข้อมูลเกี่ยวกับวิธีการอัปโหลดภาพให้ดูที่ เท็กซ์และขอบเขต

ฉันจะค้นหารหัสเนื้อหาของภาพที่ฉันเจอได้อย่างไร?

ในขณะที่กับ Sound และ Animation วัตถุ ไอดีเนอร์ของเนื้อหาไม่ใช่เลขใน URL เท่านั้น มีสองวิธีหลักในการค้นหาไอเดียเนอร์ของเนื้อหา:

  • วาง URL ในสมบัติข้อมูลใน Roblox Studio ระบบจะอัปเดตสมบัติข้อมูลไปยัง ID เนื้อหาที่ถูกต้อง หมายเหตุนี้ทำงานได้เฉพาะใน Roblox Studio เท่านั้นและไม่สามารถทำได้จากสคริปต์หรือในขณะที่เกมกำลังดำเนินการ
  • ใส่ตราในเกม, นี่เป็นปกติจะทำผ่านกล่องเครื่องมือภายใต้ 'My Decals' ได้รับ 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 ทำงานเป็นตัวคูณสำหรับความโปร่งใสของเรือนี้และควรใช้เมื่อความโปร่งใสของเรือนี้อาจเปลี่ยนแปลงโดยสคริปต์อื่น เช่นเดียวกับตัวละครของผู้เล่น

สำหรับ 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 ของ BasePart รูปภาพจะถูกเรนเดอร์ในลำดับความสูงสุด โดยมีค่าที

ขนาดของค่าที่ถูกต้องคือ -MAX_INT ถึง MAX_INT รวมทั้ง (2,147,483,647 หรือ (2^31 - 1)) หากคุณไม่แน่ใจว่าคุณจะต้องใส่ชุดระหว่างสอ

ดูเพิ่มเติม:

  • GuiObject.ZIndex รายการที่มีลักษณะเดียวกัน แต่สำหรับรายการ GUI

วิธีการ

อีเวนต์