NumberSequence

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

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

ประเภทข้อมูล NumberSequence แทนที่ซีรีส์ของค่าตัวเลขจาก 0 ถึง 1มูลค่าตัวเลขจะถูกแสดงโดยใช้ประเภท NumberSequenceKeypointประเภทนี้ใช้ในคุณสมบัติเช่น ParticleEmitter.Size และ Beam.Transparency เพื่อกำหนดการเปลี่ยนแปลงทางตัวเลขในเวลา

เท่าเทียม

วัตถุสองตัว NumberSequence มีค่าเท่ากันเฉพาะถ้าค่าของพวกเขา NumberSequenceKeypoint เป็นเช่นเดียวกันแม้ว่าทั้งสองจะทำให้เกิดกราฟที่คล้ายกัน

การประเมิน

ประเภท NumberSequence ไม่มีวิธีในตัวสำหรับการรับค่าในเวลา/จุดที่กำหนดเพราะจุดกุญแจสามารถมีซองสุ่มได้อย่างไรก็ตาม คุณสามารถใช้ฟังก์ชันต่อไปนี้เพื่อประเมินในเวลาที่เฉพาะเจาะจงได้ ถ้าค่าตัวอักษรของจุดกุญแจของคุณทั้งหมดเป็น 0


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

สรุป

คอนสตรัคเตอร์

  • new(n : number)

    ส่งคืน NumberSequence ที่มีค่าเริ่มต้นและสิ้นสุดถูกตั้งค่าเป็น n ที่ให้ไว้

  • new(n0 : number,n1 : number)

    ส่งคืน NumberSequence ของสองจุดสำคัญที่มี n0 เป็นค่าเริ่มต้นและ n1 เป็นค่าสิ้นสุด

  • new(Keypoints : Array)

    ส่งคืน NumberSequence จากคอลเลกชันของ NumberSequenceKeypoints

คุณสมบัติ

คอนสตรัคเตอร์

new

ส่งคืน NumberSequence ที่มีค่าเริ่มต้นและสิ้นสุดถูกตั้งค่าเป็น n ที่ให้ไว้


local numberSequence = NumberSequence.new(n)
-- เทียบเท่ากับ
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n),
NumberSequenceKeypoint.new(1, n)
}

พารามิเตอร์

new

ส่งคืน NumberSequence ของสองจุดสำคัญที่มี n0 เป็นค่าเริ่มต้นและ n1 เป็นค่าสิ้นสุด


local numberSequence = NumberSequence.new(n0, n1)
-- เทียบเท่ากับ
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n0),
NumberSequenceKeypoint.new(1, n1)
}

พารามิเตอร์

n0: number
n1: number

new

ส่งคืน NumberSequence จากคอลเลกชันของ NumberSequenceKeypointsจุดสำคัญต้องได้รับในลำดับค่าเวลาไม่ลดลงต้องมีจุดสำคัญอย่างน้อยสองจุดและต้องมีค่าเวลาของ 0 (ครั้งแรก) และ 1 (ครั้งสุดท้าย)


local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.5, 0.5, 0.25),
NumberSequenceKeypoint.new(1, 1)
}

พารามิเตอร์

Keypoints: Array

คุณสมบัติ

Keypoints

ชุดค่าที่มี NumberSequenceKeypoint ค่าสําหรับ NumberSequence