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 BasePart .

Bagaimana Decal bekerja?

Sebuah Decal akan menerapkan gambar ke BasePart yang menjadi orangtuanya.Permukaan gambar ini diterapkan tergantung pada properti FaceInstance.Face.Ukuran stiker tergantung pada ukuran wajah, artinya ukuran dan rasio aspek stiker dapat diubah dengan mengubah ukuran dan aspek orangtuanya BasePart.Size.

Gambar yang diterapkan oleh Decal ditentukan oleh propertinya Decal.Texture.Gambar dapat diunggah ke Roblox asalkan mereka mematuhi panduan komunitas.Untuk informasi tentang cara mengunggah gambar, lihat Tekstur dan Decal.

Alternatif untuk Decal

Meskipun Decal memiliki berbagai aplikasi, dalam beberapa kasus pengembang mungkin ingin memilih salah satu kelas berikut alih-alih.

  • Untuk tekstur ubin yang diulang, objek Texture harus digunakan
  • Untuk menerapkan elemen GUI, objek SurfaceGui harus digunakan
  • Jika efek pencahayaan pada gambar perlu diubah, objek SurfaceGui harus digunakan

Contoh Kode

The following code will create a Part on the ground with a Decal applied to its top face. When something hits the part, such as when a player walks over it, the texture applied to the decal will change and a sound will play.

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

Tinta Color3 dari Decal.

Pengembang harus memperhatikan bahwa properti ini hanya mengatur tinta dari stiker, bukan warna.Ini berarti, kecuali gambar yang terkait dengan Decal awalnya putih (RGB = 1,1,1) maka warna tidak dapat diubah bebas menggunakan properti ini.

Dengan mengurangi properti RGB dari Color3 dalam serikat, pengembang dapat membuat stiker lebih gelap.

Contoh Kode

This code sample creates a Decal in the workspace and changes its Decal.Color3 property on a loop using TweenService.

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 stikerDecal.Transparency . Efek hanya terlihat oleh Players.LocalPlayer .

Properti ini harus digunakan dalam situasi di mana Decal.Transparency ditetapkan oleh skrip yang berbeda.Manfaat dari Modifikasi Transparansi Lokal adalah bahwa itu dapat diubah tanpa khawatir tentang asli Decal.Transparency dari Decal

Ketika Modifikasi Transparansi Lokal diatur ke 1, Decal akan sepenuhnya tidak terlihat terlepas dari transparansi aslinya.Ketika diatur ke 0, transparansi stikeryang dihasilkan akan cocok dengan nilai Decal.Transparency.Formula untuk ini adalah:


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

Catatan, properti ini harus digunakan hanya pada klien dan tidak akan direplikasi ke server.

Untuk variasi properti ini untuk BaseParts , lihat BasePart.LocalTransparencyModifier .

Texture

ContentId
Baca Paralel

ID Konten dari gambar yang akan diterapkan oleh Decal .

Bagaimana saya bisa mengunggah Decal?

Gambar dapat diunggah ke Roblox asalkan mereka mematuhi panduan komunitas.Untuk informasi tentang cara mengunggah gambar, lihat Tekstur dan Decal.

Bagaimana cara menemukan saya menemukan ID Konten Decal?

Tidak seperti dengan Sound dan Animation objek, ID Konten dari Decal tidak sama dengan nomor di URL.Ada dua cara utama untuk menemukan ID Konten dari Decal:

  • Lemparkan URL ke properti Texture di Roblox Studio.Roblox akan secara otomatis memperbarui properti ke ID Konten yang benar.Catat ini hanya berfungsi di Roblox Studio dan tidak dapat dilakukan dari Skrip atau saat permainan sedang berjalan.
  • Masukkan Decal ke dalam game, ini umumnya dilakukan melalui Toolbox di bawah 'Decals Saya'.ID Konten dapat ditemukan dalam decal yang disisipkan.Catatan, InsertService:LoadAsset() dapat juga digunakan jika pengembang ingin mengotomatisasi metode ini.

Contoh Kode

The following code will create a Part on the ground with a Decal applied to its top face. When something hits the part, such as when a player walks over it, the texture applied to the decal will change and a sound will play.

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

TextureContent

Baca Paralel

Transparency

Baca Paralel

Menentukan transparansi dari Decal dengan 0 menjadi benar-benar buram 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 properti Transparansi.

Decal.LocalTransparencyModifier bertindak sebagai pengganda untuk transparansi Decal dan harus digunakan ketika transparansi decal kemungkinan akan diubah oleh skrip lain, seperti halnya dengan karakter pemain.

Untuk BaseParts , lihat BasePart.Transparency .

Contoh Kode

The code below will create a transparent Part with a decal that will fade in and out using TweenService and Decal.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

Baca Paralel

ZIndex menentukan urutan di mana decal pada Face yang sama dari BasePart diberikan.Decal dibuat dalam urutan prioritas menaik dari ke atas , di mana nilai yang lebih rendah ditampilkan terlebih dahulu.Oleh karena itu, stiker dengan ZIndex yang lebih tinggi menampilkan nanti (dan di atas) stiker lain dengan ZIndex yang lebih rendah.

Kisaran 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 perlu melapisi stiker di antara dua stiker yang sudah ada di masa depan, itu bisa menjadi ide bagus untuk menggunakan multiplikasi 100, yaitu0, 100, 200.Ini memastikan celah besar nilai ZIndex yang dapat Anda gunakan untuk elemen yang disajikan di antara elemen lain.

Lihat juga:

Metode

Acara