Decal

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Resim nesnesi, bir BasePart yüzüne bir görüntü uygulayan bir nesnedir.

Bir Çıkartma nasıl çalışır?

Bir Çıkartma, ebeveyn olduğu BasePart bir görüntüye uygulayacaktır.Bu resmin uygulandığı yüzey, FaceInstance.Face özelliğine bağlıdır.Resmin büyüklüğü yüzün büyüklüğüne bağlıdır, yani bir resmin boyut ve yön oranı, onun ebeveyninin BasePart.Size 'sini değiştirerek değiştirilebilir.

Bir Çıkartmanın uyguladığı görüntü, onun Decal.Texture özelliği tarafından belirlenir.Resimler, topluluk yönergelerine uydukları sürece Roblox'a yüklenebilir.Resimlerin nasıl yükleneceğine dair bilgi için, Doku ve Desenler bakın.

Resimlerin Alternatifleri

Desenlerin çok çeşitli uygulamaları olmasına rağmen, bazı durumlarda geliştiriciler bunun yerine aşağıdaki sınıflardan birini seçmek isteyebilir.

  • Tekrarlanan fayanslı dokular için, Texture nesnesi kullanılmalıdır
  • GUI öğelerini uygulamak için, SurfaceGui nesnesi kullanılmalıdır
  • Resim üzerinde yapılan aydınlatma etkisi değiştirilmesi gerekiyorsa, SurfaceGui nesnesi kullanılmalıdır

Kod Örnekleri

Aşağıdaki kod, üst yüzüne uygulanan Part ile yerde bir Decal oluşturacaktır.Bir parçaya bir şey çarptığında, bir oyuncu üzerinden geçtiğinde, kapağa uygulanan doku değişecek ve bir ses çalacak.

Resim Doku Değiştirme

-- parça oluştur
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")
-- resim oluştur create decal
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Top
decal.Parent = part
-- ses oluşturma
local sound = Instance.new("Sound")
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = part
-- yüzleri tanımla
local happyFace = "http://www.roblox.com/asset/?id=26424652"
local sadFace = "http://www.roblox.com/asset/?id=147144198"
decal.Texture = happyFace
-- dokunulan etkinlik
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)
-- çalışma alanına ekleyin
part.Parent = workspace

Özet

Özellikler

Şuradan alınan Özellikler: FaceInstance
  • Paralel oku

    Nesnenin üzerinde göründüğü tuğla yüzünü ayarlar.

Özellikler

Color3

Paralel oku

The Color3 .'in renk tonu Decal.

Geliştiriciler, bu özelliğin sadece renk değil, çıkartmanın tonunu ayarladığını unutmamalıdır.Yani, Decal ile ilişkili görüntü başlangıçta beyaz olmadığı sürece, bu özellik kullanılarak renk özgürce değiştirilemez.

Birleşimde Color3 RGB özelliklerini azaltarak, geliştiriciler bir rozeti daha karanlık hale getirebilir.

Kod Örnekleri

Bu kod örneği, çalışma alanında bir Decal oluşturur ve onun Decal.Color3 özelliğini bir döngü kullanarak değiştirir TweenService .

Resim Rengi3

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" -- beyaz çember
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

Gizli
Çoğaltılmamış
Paralel oku

Resmin Decal.Transparency özelliği için çarpan olarak davranır. Etkiler yalnızca Players.LocalPlayer için görünür.

Bu özellik, Decal.Transparency farklı bir senaryo tarafından ayarlanırken durumlarda kullanılmalıdır.Yerel Transparans Değiştiricisinin avantajı, orijinal Decal.Transparency ın endişelenmeden değiştirilebilmesidir Decal

Yerel Transparans Modifiye edici 1 olarak ayarlanırsa, Decal orijinal transparansına rağmen tamamen görünmez olacaktır.0 olarak ayarlanırsa, resmin saydamlığı Decal.Transparency değerine eşit olacaktır.Bunun formülü:


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

Not, bu özellik yalnızca istemci üzerinde kullanılmalı ve sunucuya yansıtılmayacaktır.

Bu özelliğin bir varyantı için BaseParts , bakın BasePart.LocalTransparencyModifier .

Texture

ContentId
Paralel oku

Decal tarafından uygulanacak görüntünün içeriği ID'si.

Bir Çıkartmayı nasıl yükleyebilirim?

Resimler, topluluk yönergelerine uydukları sürece Roblox'a yüklenebilir.Resimlerin yüklenmesiyle ilgili bilgi için, Doku ve Desenler bakın.

Bir Resimin İçeriği Kimliğini Nasıl Bulurum?

Sound ve Animation nesneleriyle aksine, bir çıkartmanın içerik kimliği URL'daki sayıyla aynı değildir.Bir resmin içeriği kimliğini bulmanın iki ana yolu vardır:

  • URL'yi Roblox Studio'daki Doku özelliğine yapıştırın.Roblox, özellikleri doğru içerik kimliğine otomatik olarak günceller.Not bu yalnızca Roblox Studio'da çalışır ve oyun çalışırken veya senaryolardan yapılamaz.
  • Resmi oyuna ekleyin, bu genellikle 'Benim Resimlerim' altındaki Araç Kutusu aracılığıyla yapılır.İçerik Kimliği, yerleştirilen resimde bulunabilir.Not, InsertService:LoadAsset() bu yöntemi otomatikleştirmek isteyen geliştiriciler de kullanabilir.

Kod Örnekleri

Aşağıdaki kod, üst yüzüne uygulanan Part ile yerde bir Decal oluşturacaktır.Bir parçaya bir şey çarptığında, bir oyuncu üzerinden geçtiğinde, kapağa uygulanan doku değişecek ve bir ses çalacak.

Resim Doku Değiştirme

-- parça oluştur
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")
-- resim oluştur create decal
local decal = Instance.new("Decal")
decal.Face = Enum.NormalId.Top
decal.Parent = part
-- ses oluşturma
local sound = Instance.new("Sound")
sound.SoundId = "rbxasset://sounds/uuhhh.mp3" -- oof
sound.Parent = part
-- yüzleri tanımla
local happyFace = "http://www.roblox.com/asset/?id=26424652"
local sadFace = "http://www.roblox.com/asset/?id=147144198"
decal.Texture = happyFace
-- dokunulan etkinlik
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)
-- çalışma alanına ekleyin
part.Parent = workspace

TextureContent

Paralel oku

Transparency

Paralel oku

0'ın tamamen opak ve 1'in tamamen şeffaf olmasıyla Decal transparansını belirler, 0 tamamen opak ve 1 tamamen şeffaf.

Not, Decals ayrıca Roblox'a yüklenen orijinal görüntü dosyasının şeffaflığına da saygı gösterir.Bu, Roblox'a yüklemeden önce transparansın değiştirilebileceği ve Transparency özelliğinin kullanılması gerekmeden anlamına gelir.

Decal.LocalTransparencyModifier çıkartmanın transparansı için bir çarpan görevi görür ve oyuncu Karakterler gibi, çıkartmanın transparansının başka bir senaryo tarafından değiştirilmesi muhtemel olduğunda başka bir senaryo tarafından kullanılmalıdır.

For BaseParts için, bakın BasePart.Transparency .

Kod Örnekleri

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

Paralel oku

ZIndex aynı üzerindeki resimlerin sıralanacağı düzeni belirler.Resimler artan öncelik sırasında görüntülenir, daha düşük değerler önce görüntülenir.Bu nedenle, daha yüksek bir ZIndex'e sahip bir rozet daha sonra (ve daha düşük bir ZIndex'e sahip diğer rozetlerin üzerinde) görüntülenir.

Geçerli değer aralığı -MAX_INT ile MAX_INT arasındadır, dahil (2,147,483,647 veya (2^31 - 1)).Gelecekte iki mevcut desen arasına bir rozet yerleştirmeniz gerekecek mi emin değilseniz, 100'ün katlarını kullanmak iyi bir fikir olabilir, yani0, 100, 200.Bu, diğer elemanlar arasında görüntülenen elemanlar için kullanabileceğiniz büyük bir ZIndex değeri boşluğu sağlar.

Ayrıca bakın:

Yöntemler

Etkinlikler