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 kluczowy to instancja przeznaczona do reprezentowania wydarzenia, które ostatecznie zostanie uruchomione, gdy zostanie uderzony Keyframe.
Używanie znacznika kluczowego ramki
Markeri kluczowych zawsze powinny być przypisane do kluczowego ramu poprzez ustawienie rodzica bezpośrednio lub za pomocą funkcji Keyframe:AddMarker() Keyframe.Oznaczniki kluczowych ram można również usunąć bezpośrednio lub za pomocą funkcji Keyframe:RemoveMarker(), a następnie sprawdzić, które oznaczniki są przypisane do określonego kluczowego ramu za pomocą Keyframe:GetMarkers().
Zawsze, gdy Keyframe zostanie wykryty jako animacja jest uruchamiana, zostanie uruchomione wydarzenie dla każdego KeyframeMarker, który jest powiązany z Keyframe.Te wydarzenia są rozpoznawalne przez nazwę KeyframeMarker.Możesz odzyskać i wysłuchać tych wydarzeń za pomocą funkcji AnimationTrack.GetKeyframeMarkerReached.Opcjonalnie możesz ustawić właściwość KeyframeMarker.Value w KeyframeMarker, aby przekazać wartość z wydarzeniem, które zostało uruchomione.
Dziedziczy właściwość Keyframe.Name od Instance i zachowuje się identycznie.Nazwy są używane do identyfikacji i nie muszą być unikalne.Gdy wiele znaczników KeyFrame z tym samym nazwiskiem jest przypisanych do KeyFrame, wydarzenia takie jak to powracające przez AnimationTrack:GetMarkerReachedSignal() będą wystrzeliwane dla każdego znacznika.
Zobacz także:
- , przechowuje zastosowany do stawów w danym momencie w animacja
- Animation , zawiera odniesienie do danych animacji wymaganych do odtwarzania niestandardowych animacji na postaciach lub innych modelach za pomocą systemu animacji Roblox
Przykłady kodu
This example demonstrates the Keyframe:AddMarker() and Keyframe:GetMarkers() functions. After adding two markers, marker1 and marker2 to the keyframe, this example gets and prints the names of the added markers.
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
This LocalScript code waits for the local player's Humanoid object to load, then it creates a new Animation instance with the proper Animation.AnimationId. The animation is then loaded onto the humanoid, creating an AnimationTrack, and the track is played with AnimationTrack:Play(). Following that, the AnimationTrack:GetMarkerReachedSignal() function detects when the "KickEnd" marker is hit.
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 wystrzelony, ta wartość zostanie przekazana do połączonej funkcji.
Zobacz także:
- , przechowuje zastosowany do stawów w danym momencie w animacja
Przykłady kodu
This example demonstrates the Keyframe:AddMarker() and Keyframe:GetMarkers() functions. After adding two markers, marker1 and marker2 to the keyframe, this example gets and prints the names of the added markers.
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
This example demonstrates the Keyframe:AddMarker() and Keyframe:RemoveMarker() functions. Note these are functionally equivalent to parenting and un-parenting the markers.
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