KeyframeMarker
*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ż:
- Animation , zawiera odniesienie do danych animacji wymaganych do odtwarzania animacji na postaciach lub innych modelach używając systemu animacji Roblox
Przykłady kodu
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
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)
Podsumowanie
Właściwości
Wartość, która jest określona dla KeyframeMarker.
Właściwości
Value
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
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
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