假设我有两个动画方法 AnimateHorizontally 和 AnimateVertically 像这样
public void AnimateHorizontally(FrameworkElement element, double XMoveStart, double XMoveEnd, int milli)
{
BackEase eEase = new BackEase();
Storyboard sb = new Storyboard();
DoubleAnimation daX = new DoubleAnimation(XMoveStart, XMoveEnd, new Duration(new TimeSpan(0, 0, 0, 0, milli)));
daX.EasingFunction = eEase;
Storyboard.SetTargetProperty(daX, new PropertyPath("(Canvas.Left)"));
sb.Children.Add(daX);
element.BeginStoryboard(sb);
}
public void AnimateVertically(FrameworkElement element, double YMoveStart, double YMoveEnd, int milli)
{
ElasticEase eEase = new ElasticEase();
Storyboard sb = new Storyboard();
DoubleAnimation daY = new DoubleAnimation(YMoveStart, YMoveEnd, new Duration(new TimeSpan(0, 0, 0, 0, milli)));
daY.EasingFunction = eEase;
Storyboard.SetTargetProperty(daY, new PropertyPath("(Canvas.Top)"));
sb.Children.Add(daY);
element.BeginStoryboard(sb);
}
当我将它应用于对象 A 时,它会从 XMoveStart 和 XMoveEnd 水平移动。如果我有一个对象 B,并且我希望对象 B 应用 ElasticEase 并垂直移动。
对象 A 和 B 上的动画应该同时流畅地开始,我该怎么做?
只需调用
AnimateVertically(A)
AnimateHorizontally(B)
它的工作并不顺利,而且似乎它们不是同时的。任何人都可以帮忙吗?我不必使用 Storyboard,如果有其他动画方法可以完成这项工作,我也可以使用它们。