Decal
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
วัตถุ Decal เป็นวัตถุที่ใช้ภาพในหน้าของ BasePart
รายละเอียดการทำงานของภาพที่วาด
ขอบเขตของภาพจะประยุกต์ภาพนี้ให้กับ BasePart ที่มันเป็นลูกของมัน พื้นผิวที่ใช้ภาพนี้ประยุกต์นั้นขึ้นอยู่กับคุณสมบัติของ
รูปภาพที่ได้รับการใช้งานเป็นรายการ จะถูกกำหนดโดยสมบุติสมบัติ Decal.Texture ของมัน รูปภาพสามารถอัปโหลดไปยัง Roblox ได้ เมื่อพวกเขาเป็นไปตามคู่มือการอัปโหลดรูปภาพ สำหรั
ทางเลือกอื่น ๆ สำหรับภาพที่เหมาะสม
แม้ว่าขอบเขียวจะมีตัวเลือกการใช้งานที่หลากหลาย ในบางกรณีผู้พัฒนาอาจต้องการเลือกหนึ่งในตัวเลือกต่อไปนี้แทน
- สำหรับข้อความขนาดเล็กที่เรียงตัวซ้ำกัน ควรใช้วัตถุ Texture
- เพื่อใช้รูปแบบ GUI คุณควรใช้วัตถุ SurfaceGui
- หากต้องการเปลี่ยนแปลงผลการจุดไฟในภาพ วัตถุ SurfaceGui ควรใช้
ตัวอย่างโค้ด
-- 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
สรุป
คุณสมบัติ
สติกเกอร์Decal.Transparency รายการ เอฟเฟกต์เหล่านี้มองเห็นได้เฉพาะผู้เล่นในเกม
รหัสเนื้อหาของรูปภาพที่จะใช้โดย Decal
กำหนดความโปร่งใสของ Decal ด้วย 0 เป็นเงื่อนไขที่เป็นอุปกรณ์ปิดกั้นและ 1 เป็นเงื่อนไขที่เป็นอุปกรณ์โปร่งใส
กำหนดลำดับการเรนเดอร์เมื่อมีหลายภาพที่มีหน้าเดียวกัน
ตั้งค่าให้เป็นหน้าผากของวัตถุที่ปรากฏ
คุณสมบัติ
Color3
ผู้พัฒนาควรระวังว่าสีนี้เฉพาะสีของภาพที่เกี่ยวข้องกับ Decal เท่านั้น ซึ่งหมายถึง, ยกเว้นภาพที่เกี่ยวข้องกับ Class.Decal เริ่มต้นเป็นสีขาว (RGB = 1,1,1) แล้วสีจึ
โดยลดคุณสมบัติ RGB ของ 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
รหัสเนื้อหาของรูปภาพที่จะถูกประยุกต์โดย Decal
ฉันจะอัปโหลดภาพที่เป็นลายเซ็นได้อย่างไร?
สามารถอัปโหลดได้ที่ Roblox เมื่อสอดคล้องกับแนวปฏิบัติของชุมชน สำหรับข้อมูลเกี่ยวกับวิธีการอัปโหลดภาพให้ดูที่ เท็กซ์และขอบเขต
ฉันจะค้นหารหัสเนื้อหาของภาพที่ฉันเจอได้อย่างไร?
ในขณะที่กับ Sound และ Animation วัตถุ ไอดีเนอร์ของเนื้อหาไม่ใช่เลขใน URL เท่านั้น มีสองวิธีหลักในการค้นหาไอเดียเนอร์ของเนื้อหา:
- วาง URL ในสมบัติข้อมูลใน Roblox Studio ระบบจะอัปเดตสมบัติข้อมูลไปยัง ID เนื้อหาที่ถูกต้อง หมายเหตุนี้ทำงานได้เฉพาะใน Roblox Studio เท่านั้นและไม่สามารถทำได้จากสคริปต์หรือในขณะที่เกมกำลังดำเนินการ
- ใส่ตราในเกม, นี่เป็นปกติจะทำผ่านกล่องเครื่องมือภายใต้ 'My Decals' ได้รับ ID เนื้อหาในตราที่ใส่ หมายเหตุ, InsertService:LoadAsset() สามารถใช้ได้หากผู้พัฒนาต้องการอัตโนมัติวิธีนี้
ตัวอย่างโค้ด
-- 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
ตัวอย่างโค้ด
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