Decal
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Objek Decal adalah objek yang menerapkan gambar ke wajah Class.BasePart .
Bagaimana Decal bekerja?
Sebuah Decal akan menerapkan gambar ke BasePart itu diletakkan. Permukaan gambar ini diterapkan ke adalah bergantung pada propietas FaceInstance.Face . Ukuran gambar decal bergantung pada ukuran wajah, yang berarti ukuran dan aspek ratasenya dapat diubah
Gambar yang diterapkan Decal ditentukan oleh propietasnya Decal.Texture. Gambar dapat diunggah ke Roblox asalkan mereka mematuhi aturan komunitas.Untuk informasi tentang cara mengunggah gambar, lihat Textures and Decals.
Alternatif untuk Stiker
Meskipun Stiker memiliki berbagai aplikasi, dalam beberapa kasus pengembang mungkin ingin memilih salah satu dari kelas berikut.
- Untuk tekstur yang diulang, objek Texture harus digunakan
- Untuk menerapkan elemen GUI, objek SurfaceGui harus digunakan
- Jika efek penerangan pada gambar perlu diubah, objek SurfaceGui harus digunakan
Contoh Kode
-- 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
Rangkuman
Properti
Bertindak sebagai pengganda untuk properti Decal.Transparency stiker. Efek hanya terlihat bagi pemain lokal.
ContentId gambar yang akan diterapkan oleh Decal .
Mengukur transparansi Decal dengan 0 benar-benar opak dan 1 benar-benar transparan.
Mengubah urutan render ketika beberapa Decal diberi wajah yang sama.
Tetapkan wajah mana dari batau yang objek muncul.
Properti
Color3
The Color3 tint of the Decal .
Pengembang harus mencatat bahwa property ini hanya menetapkan warna stiker, bukan warna. Ini berarti, kecuali gambar yang diasosiasikan dengan Decal awalnya putih (RGB = 1,1,1) maka warna tidak dapat diubah secara bebas menggunakan property ini.
Dengan mengurangi propinsi RGB dari Color3 dalam persatuan, pengembang dapat membuat decal lebih gelap.
Contoh Kode
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
Bertindak sebagai pengganda untuk properti Decal.Transparency stiker. Efek hanya terlihat untuk Players.LocalPlayer .
Elemen ini harus digunakan dalam situasi di mana Decal.Transparency diatur oleh script yang berbeda. Manfaat dari LocalTransparencyModifier adalah bahwa itu dapat diubah tanpa khawatir tentang Class.Decal asli dari Decal.Transparency
Ketika LocalTransparencyModifier di set ke 1, Decal akan benar-benar tidak terlihat terlepas dari transparansi aslinya. Saat di set ke 0, transparansi render stikerakan cocok dengan nilai Decal.Transparency. Rumus untuk ini adalah:
Displayed Transparency = Transparency + ((1 - Transparency) * LocalTransparencyModifier)
Catat, property ini harus digunakan hanya pada klien dan tidak akan bereplikasi ke server.
Untuk varian dari property ini untuk BaseParts, lihat BasePart.LocalTransparencyModifier .
Texture
ID Konten gambar yang akan diterapkan oleh Decal .
Bagaimana cara mengunggah Stiker?
Gambar dapat diunggah ke Roblox asalkan mereka mematuhi aturan komunitas. Untuk informasi tentang cara mengunggah gambar, lihat Textur dan Decal.
Bagaimana cara menemukan ID Konten Decal?
Tidak seperti dengan Sound dan Animation objek, ID Konten dari Decal tidak sama dengan nomor dalam URL. Ada dua cara utama untuk menemukan ID Konten dari Decal:
- Tempastekan URL ke property Texture di Roblox Studio. Roblox akan secara otomatis menyetujui property ke ID konten yang benar. Catat bahwa ini hanya berfungsi di Roblox Studio dan tidak dapat dilakukan dari Skrip atau saat game berjalan.
- Sisipkan Stiker ke dalam game, ini umumnya dilakukan melalui Toolbox di bawah 'My Decals'. ID Konten dapat ditemukan di stiker yang disisipkan. Catatan, InsertService:LoadAsset() dapat juga digunakan jika pengembang ingin otomatisasi metode ini.
Contoh Kode
-- 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
Mengukur transparansi Decal dengan 0 benar-benar opak dan 1 benar-benar transparan.
Catatan, Decals juga menghormati transparansi file gambar asli yang diunggah ke Roblox. Ini berarti transparansi dapat diubah sebelum mengunggah ke Roblox, dan tanpa perlu menggunakan property Transparency.
Decal.LocalTransparencyModifier bertindak sebagai pengganda untuk transparansi Decal dan harus digunakan ketika transparansi Decal kemungkinan akan diubah oleh script lain, seperti yang dilakukan dengan karakter pemain.
Untuk BaseParts, lihat BasePart.Transparency .
Contoh Kode
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 menentukan urutan di mana stiker di Face dari BasePart di renderisasi. Stiker di renderisasi dalam urutan 0>ascending0> prioritas, di mana nilai yang lebih rendah di renderisasi terlebih dahulu. Oleh karena itu, decal dengan ZIndex
Jangkauan nilai yang valid adalah -MAX_INT ke MAX_INT, termasuk (2,147,483,647 atau (2^31 - 1)) jika Anda tidak yakin apakah Anda akan memerlukan lapis decal di antara dua decal yang sudah ada di masa depan, itu bisa menjadi ide yang bagus untuk menggun
Lihat juga:
- GuiObject.ZIndex , property yang bersikap sama, tetapi untuk elemen GUI