InteractionTracker.TryUpdateScaleWithAnimation 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
嘗試使用指定的動畫來更新縮放比例。
TryUpdateScaleWithAnimation 方法會根據輸入為參數的CompositionAnimation來更新InteractionTracker的縮放位置。 此方法用於 互動Tracker 的動作需要由特定動畫定義,而不是傳統的慣性體驗。 TryUpdateScaleWithAnimation 可以從 Idle 或慣性狀態呼叫 – 這麼做時, InteractionTracker 的位置將會由定義的動畫所驅動,並進入 CustomAnimation 狀態。
public:
virtual int TryUpdateScaleWithAnimation(CompositionAnimation ^ animation, float3 centerPoint) = TryUpdateScaleWithAnimation;
int TryUpdateScaleWithAnimation(CompositionAnimation const& animation, float3 const& centerPoint);
public int TryUpdateScaleWithAnimation(CompositionAnimation animation, Vector3 centerPoint);
function tryUpdateScaleWithAnimation(animation, centerPoint)
Public Function TryUpdateScaleWithAnimation (animation As CompositionAnimation, centerPoint As Vector3) As Integer
參數
- animation
- CompositionAnimation
要套用至尺規的動畫。
傳回
Int32
int
傳回要求識別碼。 在狀態轉換上,造成狀態變更的要求將會包含在引數中。 這些識別碼會在 1 開始,並在應用程式的存留期期間,隨著每次嘗試呼叫而增加。
範例
void CustomAnimationForIT(float newScale, Vector3 newCenterPoint)
{
// Create a cubic bezier easing function that will be used in the KeyFrames
CompositionEasingFunction cubicBezier = _compositor.CreateCubicBezierEasingFunction(new Vector2(.17f, .67f), new Vector2(1f, 1f);
// Create the Vector3 KFA
ScalarKeyFrameAnimation kfa = _compositor.CreateScalarKeyFrameAnimation();
kfa.Duration = TimeSpan.FromSeconds(3);
// Create the KeyFrames
kfa.InsertKeyFrame(1.0f, newScale, cubicBezier);
// Update InteractionTracker position using this animation
_tracker.TryUpdatePositionWithAnimation(kfa, newCenterPoint);
}
備註
建立您想要更新 InteractionTracker 位置的動畫時,您不需要呼叫 Microsoft.UI.Composition.CompositionObject.StartAnimation。 一旦動畫透過 TryUpdateScaleWithAnimation 傳入,系統就會在幕後處理此動作。
定義動畫以動畫顯示 InteractionTracker 的縮放位置時,請務必使用 ScalarKeyFrameAnimation 或解析為 Scalar 的 ExpressionAnimation 。
下表摘要說明當這個方法在特定狀態下呼叫時的預期行為:
目前狀態 | 成果 |
---|---|
閒置 | 要求的動畫會從要求的屬性開始,狀態變更為 CustomAnimation |
Interacting | 忽略要求 |
慣性 | 要求的動畫會從要求的屬性開始,狀態變更為 CustomAnimation |
CustomAnimation | 目前的動畫停止,而新的要求動畫會在要求的屬性上啟動,狀態會重新輸入 CustomAnimation |