さて、私はロード画面に取り組んでいるので、少しフレアアップしたいと思います.
基本的に私がやろうとしているのは、パス ジオメトリ データに沿ってオブジェクトをアニメーション化することです...接線上のパスに沿って固定オブジェクトを維持することは私がやりたいことではないため、「に沿って」を強調します
これは私がやろうとしていることの最良の表現です:
マトリックス変換を使用してこの境界要素をパスに沿って送信できますが、パスに沿って移動および回転する接線アニメーションとして出てきますが、パスの形状に合わせて曲がることはありません...ここに例がありますその:
<Border Background="Black" BorderBrush="Transparent" Width="20" Height="20">
<Border.RenderTransform>
<MatrixTransform x:Name="MatrixT">
<MatrixTransform.Matrix>
<Matrix/>
</MatrixTransform.Matrix>
</MatrixTransform>
</Border.RenderTransform>
<Border.Triggers>
<EventTrigger RoutedEvent="Border.Loaded">
<BeginStoryboard>
<Storyboard>
<MatrixAnimationUsingPath Storyboard.TargetName="MatrixT" Storyboard.TargetProperty="Matrix" DoesRotateWithTangent="True" Duration="0:0:5" RepeatBehavior="Forever">
<MatrixAnimationUsingPath.PathGeometry>
<PathGeometry Figures="M201.1,50.501C201.1,78.138,178.737,100.501,151.1,100.501L150.799,100.501C123.162,100.501,114.933,77.834,100.8,50.501L100.8,50.5C86.666,23.167,78.437,0.5,50.8,0.5L50.5,0.5C22.863,0.5,0.500000000000014,22.863,0.500000000000014,50.5L0.500000000000014,50.501C0.500000000000014,78.138,22.863,100.501,50.5,100.501L50.8,100.501C78.437,100.501,86.666,77.834,100.8,50.501L100.8,50.5C114.933,23.167,123.162,0.5,150.799,0.5L151.1,0.5C178.736,0.5,201.1,22.863,201.1,50.501L201.1,50.501z" PresentationOptions:Freeze="True"/>
</MatrixAnimationUsingPath.PathGeometry>
</MatrixAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Border.Triggers>
私は非常にシャープに見える代替ソリューションを思いつきましたが、この質問をコミュニティに売り込んで、このタスクを達成する方法についてアイデアがあるかどうか (またはそれが可能かどうか) を確認したかったのです...私は持っていますこの問題について大規模なグーグル検索を行いましたが、効果的な手段でこれを達成する方法について何も思いつきませんでした。
要求事項:
- パスをたどる (または「曲がる」) 必要があります
- アニメーションを壊さずにサイズを変更できる必要があります (私がこれまでに見たストローク アニメーション表現の多くは、アニメーション プロパティを再構成せずに 1 つのサイズでしか操作できません)...これを達成するためにビューボックスは完全に受け入れられます。
形状が先細になり、トレーリング側でフェードアウトできる場合、それはさらに大きなプラスになります (上の画像を参照)。
編集:「曲げ」の意味を明確にするために...私は下の図Bを意味します...図Aは私が伝統的に見てきた標準です: