KeyframeMarker

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bir Keyframe Marker, bir Keyframe nın sonunda ateşlenmesi gereken bir etkinliği temsil etmeyi amaçlayan bir instanstır.

Bir Keyframe Markerı Kullanıyor

Eşleştiriciler her zaman ebeveyn olmalıdır, bir ebeveyni doğrudan ayarlayarak veya Keyframe:AddMarker() iletkenin ebeveyni olarak kullanarak. Eşleştiriciler ayrıca Keyframe:RemoveMarker() iletkenin ebeveynine çekilir veya kald

Bir Keyframe bir animasyonun çalıştığında tespit edildiğinde, Keyframe için her Keyframe Marker'ın aşağıdaki eylemi yapacak olan olay olayı vardır. Bu olaylar, Keyframe'in ebeveyni olan Keyframe'in adına göre kimliği belirlenir. Bu olay

Class.Instance.Name|Keyframe.Name özelliğini Instance dan miras alır ve aynı şekilde davranır. İsimler tanımlanır ve benzersiz olmayan herhangi bir KeyFrame Marker'ın bir KeyFrame'ine bağlanması durumunda, etkinleştirilmiş olan herhangi bir İsim'in tüm

Ayrıca bakınız:

  • Keyframe, bir animasyon içinde belirli bir noktada birleştirilmiş Poses 'i tutar
  • AnimationTrack , bir animasyonun oynatılmasını Humanoid veya AnimationController üzerindeki bir oynatıcı kontrol eder
  • Animation , karakterlerin veya diğer modellerin Roblox animasyon sistemi kullanılarak özel animasyonlar oynatması için gereken animasyon verilerine bir referans tutar

Kod Örnekleri

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)

Özellikler

Value

Paralel oku

Bir KeyframeMarker için belirlenen bir değer. Herhangi bir sinyal oluşturulduğunda, bu değer bağlı işlevinize geçer.

Ayrıca bakınız:

Kod Örnekleri

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

Yöntemler

Etkinlikler