NumberSequence
แสดงที่เลิกใช้งานแล้ว
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
ข้อมูลชนิด NumberSequence เป็นตัวแทนของชุดค่าตัวเลขจาก 0 ถึง 1 ตัวเลขจะถูกแสดงโดยใช้ปร
ความเท่าเทียม
สองวัตถุ NumberSequence เท่ากันเฉพาะถ้าค่าของพวกเขา NumberSequenceKeypoint เท่ากันเท่านั้น แม้ว่าจะเป็นกราฟิกที่คล้ายกันก็ตาม
ประเมิน
ชนิด NumberSequence ไม่มีวิธีการในตัวสำหรับการรับค่าในเวลา/จุดที่ต้องการเพราะตำแหน่งของตัวอักษรสามารถมีเอกสารสุ่มได้ อย่างไรก็ตาม โดยเฉพาะอย่างยิ่ง
local function evalNumberSequence(sequence: NumberSequence, time: number)
-- หากเวลาเป็น 0 หรือ 1 ให้กลับค่าแรกหรือค่าสุด
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- ในกรณีอื่น ให้ทำแต่ละคู่ของจุดสังเกตขั้นต่อไป
for i = 1, #sequence.Keypoints - 1 do
local currKeypoint = sequence.Keypoints[i]
local nextKeypoint = sequence.Keypoints[i + 1]
if time >= currKeypoint.Time and time < nextKeypoint.Time then
-- คํานวณว่าอัลฟาอยู่ระหว่างจุดต่างๆ
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- กลับค่าที่อยู่ระหว่างจุดโดยใช้อัลฟ่า
return currKeypoint.Value + (nextKeypoint.Value - currKeypoint.Value) * alpha
end
end
end
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.5, 1),
NumberSequenceKeypoint.new(1, 0),
}
print(evalNumberSequence(numberSequence, 0.65)) --> 0.7