KeyframeMarker

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Ein Keyframe-Marker ist eine Instanz, die ein Ereignis darstellt, das schließlich ausgelöst wird, wenn ein Keyframe getroffen wird.

Verwendung eines Keyframe-Markers

KeyframeMarkers sollten immer über einen Keyframe hinweggeordnet sein, indem der Elternteil direkt oder mit der Funktion Keyframe:AddMarker() des Keyframe festgelegt wird. KeyframeMarkers können auch direkt entfernt werden, indem der Elternteil mit der Funktion Keyframe:RemoveMarker() ausgewählt wird, und mit der Funktion Keyframe:GetMarkers() auf die

Wenn ein Keyframe als Animation ausgeführt wird, wird für jeden Keyframe-Marker, der mit dem Keyframe verbunden ist, ein Ereignis ausgelöst, für jeden Keyframe-Marker, der mit dem Keyframe verbunden ist, wird ein Ereignis ausgelöst, für jeden Keyframe-Marker, der mit dem Keyframe verbunden ist, wird ein Ereignis ausgelöst. Optionally, you may set the Class.Animation

Es erbt die Keyframe.Name Eigenschaft von Instance und verhält sich identisch. Namen werden für die Identifizierung verwendet und müssen nicht einzigartig sein. Wenn mehrere KeyFrameMarkers mit dem gleichen Namen an einem KeyFrame angehängt sind, werden Ereignisse wie diejenige, die von AnimationTrack:GetMarkerReachedSignal() zurückgegeben wird

Siehe auch:

  • Keyframe , hält die Poses , die auf Joints in einem Model angewendet wird, in einer Animationenan einem bestimmten Zeitpunkt
  • AnimationTrack , steuert die Wiedergabe einer Animation auf einem Humanoid oder AnimationController
  • Animation , enthält eine Verweisung auf Animationendaten, die für die Wiedergabe benutzerdefinierter Animationen auf Charaktern oder anderen Modellen mit dem Roblox-Animationssystem erforderlich sind

Code-Beispiele

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.

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

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.

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)

Eigenschaften

Value

Parallel lesen

Ein Wert, der für einen KeyframeMarker festgelegt ist. Wenn das Signal, das von AnimationTrack:GetMarkerReachedSignal() erstellt wird, getötet wird, wird dieser Wert an die verbundene Funktion übergeben.

Siehe auch:

Code-Beispiele

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.

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

This example demonstrates the Keyframe:AddMarker() and Keyframe:RemoveMarker() functions. Note these are functionally equivalent to parenting and un-parenting the markers.

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

Methoden

Ereignisse