概要
方法
GetValueAtTime(time: number):{any} |
X():FloatCurve |
Y():FloatCurve |
Z():FloatCurve |
範例程式碼
創建一個 Vector3Curve
--- Vector3Curve
local function createVector3Curve()
local vectorCurve = Instance.new("Vector3Curve")
local curveX = vectorCurve:X() -- 創建 並返回一個動畫化 X 通道的 FloatCurve
local curveY = vectorCurve:Y() -- 創建並返回一個動畫化 Y 通道的 FloatCurve
-- 未設置 Z 通道將導致 Z 通道不被動畫。
-- 缺少的曲線或 沒有鍵的曲線不參與動畫
local key = FloatCurveKey.new(0, 1) -- 在時間 0 創建一個值為 1 的鍵
curveX:InsertKey(key)
curveY:InsertKey(key)
local key2 = FloatCurveKey.new(1, 2) -- 在時間 1 創建一個值為 2 的鍵
curveX:InsertKey(key2)
curveY:InsertKey(key2)
return vectorCurve
end
local function testVector3Curve()
local curve = createVector3Curve()
-- 在給定時間樣本曲線(返回一個 vector3)
print(curve:GetValueAtTime(0)) -- 返回 1, 1, void
print(curve:GetValueAtTime(0.5)) -- 返回 1.5, 1.5, void(自動切線的立方插值結果)
curve:X():RemoveKeyAtIndex(1)
curve:X():RemoveKeyAtIndex(1)
print(curve:X().Length) -- 鍵的數量 = 0
print(curve:GetValueAtTime(0.5)) -- 返回 void, 1.5, void
end
testVector3Curve()API 參考
方法