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

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)

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

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

Methoden

Ereignisse