好的,所以我正在处理加载屏幕,我想把它点燃一点。
基本上我想做的是沿着路径几何数据为对象设置动画......我强调“沿着”,因为沿着切线的路径保持固定对象不是我想做的
这是我正在尝试做的最好的表示:
我可以使用矩阵变换沿路径发送此边框元素,但它最终会以切线动画的形式出现,随路径移动和旋转,但不会弯曲以适应路径的形状...这是一个示例其中:
<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>
我想出了一个看起来非常犀利的替代解决方案,但我想向社区提出这个问题,看看他们是否对如何完成这项任务有任何想法(或者是否有可能)......我有对此事进行了广泛的谷歌搜索,但没有提出如何以有效的方式实现这一目标。
要求:
- 它必须遵循(或“弯曲”)路径
- 它必须能够在不破坏动画的情况下按比例缩放(我见过的许多笔画动画表示只能在一种尺寸下运行,而无需重新配置动画属性)......一个视图框是完全可以接受的来完成这个
如果形状可以在尾部逐渐变细并淡出,那将是一个更大的加号(见上图),但这可能超出了可能
编辑:澄清我所说的“弯曲”的意思......我的意思是下图B......图A是我传统上看到的标准: