Decal
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Obiekt Decal jest obiektem, który stosuje obraz na twarzy BasePart .
Jak naklejka działa?
Naklejka zastosuje obraz na BasePart , do którego należy. Powierzchnia, na którą naklejka zostanie nakładana, zależy od właściwości FaceInstance.Face. Rozmiar naklejki zależy od rozmiaru twarzy, co oznacza, że rozmiar i proporcje aspektu naklejki mo
Obraz, do którego zastosowano naklejkę, jest determinowany przez jego właściwość Decal.Texture. Obrazy można wysyłać do Roblox, o ile przestrzegają one zasad społeczności.Dla informacji o tym, jak wysyłać obrazy, zobacz Tekstury i naklejki.
Alternatywy dla naklejek
Chociaż naklejki mają szeroką gamę zastosowań, w niektórych przypadkach rozwój może chcieć wybrać jedną z następujących klas zamiast tego.
- Dla powtarzających się płytkowych tekstur należy użyć obiektu Texture
- Aby zastosować elementy GUI, obiekt SurfaceGui powinien być używany
- Jeśli efekt oświetlenia na obrazie musi być zmieniony, obiekt SurfaceGui powinien być używany
Przykłady kodu
-- 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
Podsumowanie
Właściwości
Działa jako mnożnik właściwości Decal.Transparency naklejki. Efekty są widoczne tylko dla lokalnego gracza.
Idź Class.Decal
Określa przejrzystość Decal z 0 będąc całkowicie niewidocznym i 1 całkowicie przejrzystym.
Określa kolejność renderowania, gdy wiele naklejek ma tę samą twarz.
Określa, na którym obliczu klocka pojawia się obiekt.
Właściwości
Color3
Rozwój powinien zauważyć, że ta właściwość ustawia tylko kolor odzieży, a nie kolor. Oznacza to, że, chyba że obraz powiązany z Decal był pierwotnie biały (RGB = 1,1,1) to kolor nie może być zmieniony wolont przez tę właściwość.
Poprzez zmniejszenie właściwości RGB Color3 w unii, rozwójcy mogą uczynić ciemniejszy odcisk.
Przykłady kodu
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
Działa jako mnożnik właściwości Decal.Transparency naklejka. Efekty są widoczne tylko dla Players.LocalPlayer .
Ten parametr powinien być używany w sytuacjach, w których Decal.Transparency jest ustawiany przez inny skrypt. Zaletą lokalnej przejrzystości modyfikatora jest to, że można go zmienić bez obawy o oryginalne Decal.Transparency z Decal
Gdy zmiennik LocalTransparency ustawiony jest na 1, Decal zostanie całkowicie niewidoczny niezależnie od jego pierwotnej przejrzystości. Gdy jest ustawiony na 0, przejrzystość renderowana Decal.Transparency będzie odpowiadać wartości Class.Decal.Transparency. Formuła do tego jest:
Displayed Transparency = Transparency + ((1 - Transparency) * LocalTransparencyModifier)
Uwaga, właściwość ta powinna być używana tylko na klienta i nie będzie replikowana na serwer.
Dla wariantu tej właściwości dla BaseParts , zobacz BasePart.LocalTransparencyModifier .
Texture
Identyfikator treści obrazu do zastosowania przez Decal.
Jak mogę wstawić Znak?
Obrazy można wysyłać do Roblox, pod warunkiem przestrzegania zasad społeczności. Aby uzyskać informacje na temat tego, jak wysyłać obrazy, zobacz Tekstury i naklejki.
Jak znaleźć ID zawartości naklejki?
W przeciwieństwie do obiektów Sound i Animation, ID treści decalu nie jest taki sam jak numer w URL. Istnieją dwa główne sposoby znalezienia ID treści decalu:
- Wklej URL do właściwości tekstury w Roblox Studio. Roblox automatycznie aktualizuje właściwość do poprawnego ID treści. Uwaga, że działa tylko w Roblox Studio i nie może być wykonany z Skryptów lub podczas uruchomienia gry.
- Umieść naklejkę w gra, jest to ogólnie wykonywane poprzez skrzynię z narzędziami pod 'Moje naklejki'. ID treści można znaleźć w naklejce, która jest wstawiana. Uwaga, InsertService:LoadAsset() można również użyć, jeśli użytkownicy chcą automatycznie zautomatyzować ten metodę.
Przykłady kodu
-- 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
Określa przejrzystość Decal z 0 będąc całkowicie niewidocznym i 1 całkowicie przejrzystym.
Uwaga, Decals również szanuje przejrzystość pierwotnego pliku obrazu wysłanego do Roblox. Oznacza to, że przejrzystość można zmienić przed wysłaniem do Roblox i bez potrzeby używania właściwości Przezroczystości.
Decal.LocalTransparencyModifier działa jako mnożnik dla przejrzystości dekal i powinien być używany, gdy przejrzystość dekal jest prawdopodobnie zmieniana przez inny skrypt, jak w przypadku postaci gracza.
Dla BaseParts , zobacz BasePart.Transparency .
Przykłady kodu
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 określa kolejność, w której naklejki na tym samym Face z BasePart są renderowane. Naklejki są renderowane w porządku rosnąco 0>pierwsze niższe wartości są renderowane najpierw0>, gdzie wartości niższe są renderowane
Zakres poprawnych wartości jest -MAX_INT do MAX_INT, włącznie (2,147,483,647 lub (2^31 - 1)) Jeśli nie jesteś pewien, czy będziesz musiał nałożyć naklejkę między dwoma już istniejącymi naklejkami w przyszłości, może to być dobry pomysł uży
Zobacz również:
- GuiObject.ZIndex , właściwość, która zachowuje się podobnie, ale dla elementów GUI