KeyframeMarker
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một Marker Keyframe là một instace để diễn tả một sự kiện sẽ cuối cùng được kích hoạt khi một Class.Keyframe được đánh.
Sử dụng một Marker Keyframe
Các biểu tượng Keyframe luôn luôn phải được gắn với một Keyframe bằng cách thiết lập người cha trực tiếp hoặc sử dụng chức năng Keyframe:AddMarker() của Keyframe. Keyframe cũng có thể được loại bỏ trực tiếp hoặ
Mỗi khi một Keyframe được phát hiện như một hoạt động, sẽ có một sự kiện được kích hoạt cho mỗi Keyframe Marker được gắn với Keyframe. Các sự kiện này được xác định bằng tên c
Nó thừa hưởng Keyframe.Name từ Instance và hành xử tương tự. Tên được sử dụng cho mục đích xác định và không cần phải độc đáo. Khi một loạt các KeyFrameMarkers với c
Xem thêm:
- AnimationTrack , điều khiển việc phát lại của một hoạt họa trên một Humanoid hoặc AnimationController
- Animation , giữ một tham chiếu đến dữ liệu hoạt họa cần thiết để chơi hoạt họa tùy chỉnh trên nhân vật hoặc các mô hình khác mà sử dụng hệ thống hoạt họa Roblox
Mẫu mã
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
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)
Tóm Tắt
Thuộc Tính
Một giá trị được định cho một KeyframeMarker .
Thuộc Tính
Value
Một giá trị được định cho một KeyframeMarker . Bất kỳ lúc nào tín hiệu được tạo từ AnimationTrack:GetMarkerReachedSignal() được bắn, giá trị này sẽ được truyền vào chức năng kết nối.
Xem thêm:
- AnimationTrack , điều khiển việc phát lại của một hoạt họa trên một Humanoid hoặc AnimationController
Mẫu mã
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
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