NumberSequence 데이터 유형은 0 에서 1 까지의 숫자 값 시리즈를 나타냅니다.숫자 값은 NumberSequenceKeypoint 입력사용하여 표현됩니다.이 유형은 ParticleEmitter.Size 및 Beam.Transparency와 같은 속성에서 시간에 따른 숫자 변경을 정의하는 데 사용됩니다.
평등
두 개의 개체는 값이 동일한 경우에만 동일하며, 둘 다 유사한 그래프가 결과가 되더라도 마찬가지입니다.
평가
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
요약
생성자
시작 및 끝 값이 제공된 n 에 설정된 NumberSequence 를 반환합니다.
시작 값으로 두 개의 키포인트와 를 끝 값으로 반환합니다.
배열의 NumberSequence 에서 NumberSequenceKeypoints 로 반환합니다.
속성
순서대로 NumberSequenceKeypoint 값의 배열.
생성자
new
시작 및 끝 값이 제공된 n 에 설정된 NumberSequence 를 반환합니다.
local numberSequence = NumberSequence.new(n)-- 에 해당:local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n),NumberSequenceKeypoint.new(1, n)}
매개 변수
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)}