KeyframeMarker

Hiển Thị Bản Đã Lỗi Thời

*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:

  • Keyframe , giữ Poses đã được áp dụng cho các khớp nối trong một Model ở một điểm thời gian nhất định trong một hoạt hiệu ứng động
  • 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ã

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)

Thuộc Tính

Value

Đọc Song Song

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:

  • Keyframe , giữ Poses đã được áp dụng cho các khớp nối trong một Model ở một điểm thời gian nhất định trong một hoạt hiệu ứng động
  • 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ã

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

Phương Pháp

Sự Kiện