KeyframeMarker

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

เครื่องหมาย Keyframe เป็นตัวแทนของเหตุการณ์ที่จะถูกเปิดในตอนท้ายเมื่อ Keyframe ถูกตี

การใช้เครื่องหมาย Keyframe

ตัวชี้วัด Keyframe ควรอยู่ภายใต้ Keyframe โดยการตั้งผู้ปกครองโดยตรงหรือโดยใช้ Keyframe:AddMarker() ฟังก์ชันของ Keyframe ตัวชี้วัด Keyframe ยังสามารถถูกลบออก

เมื่อพบว่ามี Keyframe เป็นแอนิเมชันที่ดำเนินอยู่ จะมีเหตุการณ์ที่เกิดขึ้นสำหรับแต่ละ Keyframe Marker ที่เป็นลูกของ Keyframe เหล่านี้ เห

มันมีลักษณะเหมือน Class.Instance.Name|Keyframe.Name โดยใช้คุณสมบัติจาก Instance และปฏิสัมพันธ์เหมือนกัน ชื่อใช้สำหรับการระบุตัวตนและไม่จำเป็

ดูเพิ่มเติม:

  • Keyframe รองรับ Poses ที่ประยุกต์ใช้กับข้อต่อใน Model แอนิเมชัน
  • AnimationTrack ควบคุมการเล่นของอนิเมชั่นบน Humanoid หรือ AnimationController
  • Animation รวบรวมข้อมูลอ้างอิงเพื่อข้อมูลอนิเมชันที่จำเป็นสำหรับการเล่นอนิเมชันที่กำหนดเองบนตัวละครหรือโมเดลอื่น ๆ โดยใช้ระบบอนิเมชัน Roblox

ตัวอย่างโค้ด

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)

คุณสมบัติ

Value

อ่านพร้อมๆ กัน

ค่าที่กำหนดสำหรับ KeyframeMarker เมื่อสัญญาณที่สร้างขึ้นจาก AnimationTrack:GetMarkerReachedSignal() ได้รับการเปิดใช้งานแล้วจะได้รับค่านี้ไปยังคุณสมบัติที่เชื่อมต่อ

ดูเพิ่มเติม:

ตัวอย่างโค้ด

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

วิธีการ

อีเวนต์