Decal

Tampilkan yang Tidak Digunakan Lagi

*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

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

Rangkuman

Properti

Properti diwarisi dari FaceInstance

Properti

Color3

Baca Paralel

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

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

Tersembunyi
Tidak Direplikasi
Baca Paralel

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

ContentId
Baca Paralel

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

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

Baca Paralel

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

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

Baca Paralel

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:

Metode

Acara