我有一个简单的地图和一个正方形,我想从A点移动到D,通过B和C.我已经宣布了一个方法Animate:
public void Animate(double[] FirstPoint, double[] SecondPoint, Image img)
{
double x1 = FirstPoint[0];
double x2 = SecondPoint[0];
double y1 = FirstPoint[1];
double y2 = SecondPoint[1];
TranslateTransform trans = new TranslateTransform();
img.RenderTransform = trans;
DoubleAnimation anim1 = new DoubleAnimation(y1, y2, TimeSpan.FromSeconds(1));
DoubleAnimation anim2 = new DoubleAnimation(x1, x2, TimeSpan.FromSeconds(1));
trans.BeginAnimation(TranslateTransform.YProperty, anim1);
trans.BeginAnimation(TranslateTransform.XProperty, anim2);
}
主要问题是当我使用这样的方法时:
obj.Animate(obj.A, obj.B, Car);
obj.Animate(obj.B, obj.C, Car);
obj.Animate(obj.C, obj.D, Car);
...仅显示从C点到D点的动画。当我添加MessageBox.Show
到Animate
方法时,它会正确显示动画。
我觉得我可能不完全理解使用这些类来动画对象的概念。有什么想法吗?
答案 0 :(得分:1)
您可以使用此代码作为理解样本,以及如何使用多个动画。
这是 MainWindow.xaml.cs 的完整代码。
for ($i = 0; $i < 0xFFFFFF; ++$i) {
echo implode(':',
str_split(str_pad(strtoupper(dechex($i)),
6,
'0',
STR_PAD_LEFT),
2)) .
'<br>';
}
此代码的结果: