Decal
*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 Resim Nasıl Çalıştır?
Bir Çıkartma, BasePart ına uygulanan bir görüntüyü uygulayacaktır. Uygulanan görüntünün aşağıdaki öğelere bağlı olduğu yüzeysi, FaceInstance.Face özelliğine bağlıdır. Çıkartmanın boyutu,
Bir Resim'e bir Çıkartma uygulandığı belirlenir bir Class.Decal.Texture özelliği. İzler, topluluk kurallarına uymak şartıyla Roblox'a yüklenebilir. İzler hakkında bilgi için, bak Textures ve Decals.
Resimlerin Alternatifleri
Resimlerin çeşitli uygulamalarına rağmen, bazı durumlarda geliştiriciler bunun yerine aşağıdaki kategoriden birini seçmeyi tercih edebilir.
- Tekrarlanan kareli yüzükler için Texture nesnesi kullanılmalıdır
- GUI elemanlarını uygulamak için, SurfaceGui nesnesi kullanılmalıdır
- Eğer görüntünün ışık etkisi değiştirilmesi gerekirse, SurfaceGui nesnesi kullanılmalıdır
Kod Örnekleri
-- 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
Özet
Özellikler
Class.Decal ın renkleri.
Etkisi, çıkartmanın Decal.Transparency özelliğinin çarpanıdır. Efektler yalnızca yerel oyuncuya görünür.
Uygulanacak görüntünün Decal tarafından kullanılan görüntü kimliği.
0'ın tamamen opake olması ve 1'in tamamen şeffaflığıyla Decal ın birincil şeffaflığını belirler.
Çok sayıda Dekalar aynı yüzüne atanırken görüntü sırasını belirler.
Nesnenin tuğunun hangi yüzünde göründüğünü ayarlar.
Özellikler
Color3
Class.Decal ın renkleri.
Geliştiriciler bu özelliklerin sadece renk değil, ayrıca şeffaf olarak değiştirilebilir olması nedeniyle tüm renkleri ayarladığını unutmalıdır. Bu, Decal ile ilgili görüntülerin orijinal olarak beyaz (RGB = 1,1,1) olması durumunda renkleri bu özellikle değiştirilemez.
Datatype.Color3 ün RGB özelliklerini azaltarak, geliştiriciler bir çıkartmayı daha karanlık hale getirebilirler.
Kod Örnekleri
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
Etkisi, çıkartmanın Decal.Transparency özelliği için bir çarpan olarak görülür. Efektler sadece Players.LocalPlayer'e görünür.
Bu özellik, Decal.Transparency ın başka bir script tarafından ayarlanması durumunda kullanılmalıdır. Decal.Transparency bu, orijinal Decal 'in şeffaflığından endişelenmeden değiştirilebilir olmasıdır.
LocalTransparencyModifier 1'e ayarlandığında, Decal görünmez olacaktır, orijinal şeffaflığına bağlı olarak. Onu 0'a ayarlandığında, şeffaflığın görünümü Decal.Transparency çıkartmaeşit olacaktır. Bu formül şu şekildedir:
Displayed Transparency = Transparency + ((1 - Transparency) * LocalTransparencyModifier)
Not, bu özellik sadece klişemizde kullanılmalıdır ve sunucuya kopyalanmaz.
For a variant of this property for BaseParts , see BasePart.LocalTransparencyModifier .
Texture
Uygulanacak resmin Decal tarafından belirlenen içeriği.
Bir Resmi Nasıl Yükleyebilirim?
Görüntüler, topluluk kurallarına uymak şartıyla Roblox'a yüklenebilir. Görüntüler nasıl yüklenebileceği hakkında bilgi için, Görüntüler ve Resimler bakın.
Bir Resim'in İçeriği ID'sini nasıl bulabilirim?
Class.Sound ve Animation nesneleri ile aynı değildir, bir İşaret'in İçeriği ID'si URL ile aynı değildir. İçeriği bulmanın iki ana yolu vardır:
- Roblox Studio'da URL'yi Doku özelliğine yapıştırın. Roblox, özelliği doğru içerik ID'si ile otomatik olarak güncellenecek. Bu sadece Roblox Studio'da çalışır ve oyun çalışırken yapılabilir.
- Resmin oyuna yerleştirilmesini sağlayın, bu genellikle "My Decals" altındaki Alet Kutusu aracılığıyla yapılır. İçerik ID'si, yerleştirilen resmin içinde bulunabilir. Ayrıca, InsertService:LoadAsset() bu yöntemi otomatikleştirmek isteyen geliştiriciler için de kullanılabilir.
Kod Örnekleri
-- 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
0'ın tamamen opake olması ve 1'in tamamen şeffaflığıyla Decal ın birincil şeffaflığını belirler.
Not, Decals ayrıca Roblox'a yüklenen orijinal görüntü dosyasının şeffaflığına saygı gösterir. Bu, şeffaflığı Roblox'a yüklemeden önce değiştirilebilir anlamına gelir ve Transparency özelliğini kullanmak zorunda kalmadan önce şeffaflığı değiştirilebilir.
Decal.LocalTransparencyModifier etkili bir görünüm olarak kullanılır ve Decal'in görünümünün başka bir script tarafından değiştirilmesi olası olduğunda kullanılmalıdır, bu da oyuncu karakterleri için geçerlidir.
For BaseParts , see BasePart.Transparency .
Kod Örnekleri
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 ile aynı Face ın üstündeki çıkartmaların sırasını belirler. Çıkartmalar, daha düşük değerleri önce rendere eder. Bu nedenle, daha yüksek bir ZIndex ile daha sonra (ve üstü) diğer çıkartmalar
Geçerli değerlerin aralığı -MAX_INT ile MAX_INT, içinde (2,147,483,647 veya (2^31 - 1)) olabilir. Eğer gelecekte iki mevcut decal arasında bir çıkartma gerektiğinden emin değilseniz, iyi bir fikir olabilir 100
Ayrıca bakınız:
- GuiObject.ZIndex , GUI elemanları için aynı davranışı sağlayan bir özellik