KeyframeMarker

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.

Marker Keyframe jest instancją przeznaconą do przedstawienia wydarzenia, które w końcu zostanie uruchomione, gdy Keyframe zostanie trafi.

Używanie Markera Keyframe

Konwerterzy kluczowe powinny zawsze być podległe do Keyframe poprzez ustawienie bezpośrednie lub użycie funkcji Keyframe:AddMarker() Keyframe. Keyframe może również być usunięty bezpośrednio lub używając funkcji Keyframe:RemoveMarker() Keyframe. Konwerterzy kluczowe można również usunąć bez

Kiedy wykryto animację, która jest związana z Keyframe, zostanie uruchomione wydarzenie dla każdego Keyframe Markera, który jest związany z Keyframe. Te wydarzenia są identyfikowane przez imię Keyframe Markera. Możesz odzyskać i słuchać tych wydarzeń używając funkcji Class.AnimationTrack.GetKeyframe

Nziedzicza właściwość Keyframe.Name od Instance i zachowuje się identycznie. Imiona są używane do identyfikacji i nie muszą być unikalne. Gdy wielka liczba KeyFrameMarkers z tego samego nazwiska zostanie przyłączony do KeyFrame, wydarzenia takie jak ten zwracany przez Class.AnimationTrack:

Zobacz również:

Przykłady kodu

Get Keyframe Markers Attached to a Keyframe

local keyframe = Instance.new("Keyframe")
keyframe.Parent = workspace
local marker1 = Instance.new("KeyframeMarker")
marker1.Name = "FootStep"
marker1.Value = 100
local marker2 = Instance.new("KeyframeMarker")
marker2.Name = "Wave"
marker2.Value = 100
keyframe:AddMarker(marker1) --marker.Parent = keyframe
keyframe:AddMarker(marker2) --marker.Parent = keyframe
local markers = keyframe:GetMarkers()
for _, marker in pairs(markers) do
print(marker.Name)
end
Listening to Keyframe Markers

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.Character:Wait()
local humanoid = character:WaitForChild("Humanoid")
-- Create new "Animation" instance
local kickAnimation = Instance.new("Animation")
-- Set its "AnimationId" to the corresponding animation asset ID
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Load animation onto the humanoid
local kickAnimationTrack = humanoid:LoadAnimation(kickAnimation)
-- Play animation track
kickAnimationTrack:Play()
-- If a named event was defined for the animation, connect it to "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)

Właściwości

Value

Odczyt równoległy

Wartość, która jest określona dla KeyframeMarker. Zawsze, gdy sygnał stworzony z AnimationTrack:GetMarkerReachedSignal() zostanie wysłany, ta wartość zostanie przekazana do funkcji połączonej.

Zobacz również:

Przykłady kodu

Get Keyframe Markers Attached to a Keyframe

local keyframe = Instance.new("Keyframe")
keyframe.Parent = workspace
local marker1 = Instance.new("KeyframeMarker")
marker1.Name = "FootStep"
marker1.Value = 100
local marker2 = Instance.new("KeyframeMarker")
marker2.Name = "Wave"
marker2.Value = 100
keyframe:AddMarker(marker1) --marker.Parent = keyframe
keyframe:AddMarker(marker2) --marker.Parent = keyframe
local markers = keyframe:GetMarkers()
for _, marker in pairs(markers) do
print(marker.Name)
end
Add Marker/Remove Marker

local keyframe = Instance.new("Keyframe")
keyframe.Parent = workspace
local marker = Instance.new("KeyframeMarker")
marker.Name = "FootStep"
marker.Value = 100
keyframe:AddMarker(marker) --marker.Parent = keyframe
task.wait(2)
keyframe:RemoveMarker(marker) --marker.Parent = nil

Metody

Zdarzenia