Decal

Pokaż przestarzałe

*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

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

Podsumowanie

Właściwości

Właściwości odziedziczeni z: FaceInstance
  • Odczyt równoległy

    Określa, na którym obliczu klocka pojawia się obiekt.

Właściwości

Color3

Odczyt równoległy

Kolor Color3 tint z Decal.

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

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

Ukryte
Bez replikacji
Odczyt równoległy

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

ContentId
Odczyt równoległy

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

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

Odczyt równoległy

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

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

Odczyt równoległy

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

Metody

Zdarzenia