範例程式碼
獲取附加到關鍵幀的關鍵幀標記
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) --標記的父級 = keyframe
keyframe:AddMarker(marker2) --標記的父級 = 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")
-- 創建新的 "Animation" 實例
local kickAnimation = Instance.new("Animation")
-- 將其 "AnimationId" 設置為相應的動畫資源 ID
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- 將動畫加載到人形上
local kickAnimationTrack = humanoid:LoadAnimation(kickAnimation)
-- 播放動畫軌道
kickAnimationTrack:Play()
-- 如果為動畫定義了命名事件,則將其連接到 "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)API 參考
屬性
Value
範例程式碼
獲取附加到關鍵幀的關鍵幀標記
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) --標記的父級 = keyframe
keyframe:AddMarker(marker2) --標記的父級 = 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) --標記.Parent = keyframe
task.wait(2)
keyframe:RemoveMarker(marker) --標記.Parent = nil