NumberSequence
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
The NumberSequence veri türü, 0 ila 1 arasında bir dizi sayı değeri temsil eder.Sayı değerleri NumberSequenceKeypoint yazkullanılarak ifade edilir.Bu tür, ParticleEmitter.Size ve Beam.Transparency gibi özelliklerde sayısal bir değişimin zaman içinde tanımlanması için kullanılır.
Eşitlik
İki nesne yalnızca değerleri eşitse eşit olur, çünkü her ikisi de benzer grafiklere yol açar, ancak her ikisi de benzer grafiklere yol açar, ancak her ikisi de benzer grafiklere yol açar.
Değerlendirme
NumberSequence tipi, belli bir zamanda/noktada değeri almak için yerleşik bir yönteme sahip değildir, çünkü anahtarlar rastgele zarflara sahip olabilir.Ancak, anahtar noktalarınızın zarf değerlerinin hepsi 0 olduğunu varsayarsak, belirli bir zamanda değerlendirmek için aşağıdaki işlevi kullanabilirsiniz.
local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Süre 0 veya 1 ise, ilk veya son değeri sırasıyla döndürün
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Aksi takdirde, her bir anahtar nokta çiftinden geçin
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
-- Noktalar arasında alfa ne kadar uzakta olduğunu hesapla
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Alfa kullanarak noktalar arasındaki değeri döndür
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
Özet
Yapılandırıcılar
Başlangıç ve bit değerleri sağlanan NumberSequence ile ayarlanmış olarak başlangıç ve bit değerlerini döndürür n.
Başlangıç değeri olarak NumberSequence ve son değeri olarak n0 ile iki anahtar noktanın bir dönüşünü sağlar ve n1 olarak son değeri.
Bir dizi NumberSequence 'den bir NumberSequenceKeypoints geri döndürür.
Özellikler
Sıralı bir NumberSequenceKeypoint değerler düzeninde bir dizi.
Yapılandırıcılar
new
Başlangıç ve bit değerleri sağlanan NumberSequence ile ayarlanmış olarak başlangıç ve bit değerlerini döndürür n.
local numberSequence = NumberSequence.new(n)-- Eşdeğeriylelocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n),NumberSequenceKeypoint.new(1, n)}
Parametreler
new
Başlangıç değeri olarak NumberSequence ve son değeri olarak n0 ile iki anahtar noktanın bir dönüşünü sağlar ve n1 olarak son değeri.
local numberSequence = NumberSequence.new(n0, n1)-- Eşdeğeriylelocal numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n0),NumberSequenceKeypoint.new(1, n1)}
new
Bir dizi NumberSequence 'den bir NumberSequenceKeypoints geri döndürür.Anahtarlar, inmeyen bir süre değeri sırasında sağlanmalıdır. The keypoints must be provided in a non-descending time value order.En az iki anahtar nokta sağlanmalı ve bunların ilk değeri 0 (ilk) ve son değeri 1 (son) olmalıdır.
local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(0.5, 0.5, 0.25),NumberSequenceKeypoint.new(1, 1)}