我正在尝试向我构建的用户控件添加翻转动画。用户控件很简单,它有一个 87x87 的前后图像和一些属性。假设它代表我正在开发的游戏中的一块瓷砖。我正在尝试为用户从甲板上挑选瓷砖的翻转效果制作动画。我觉得我需要通过代码而不是 xaml 来执行此操作,原因有两个:1. 翻转瓷砖后还有另一个变换以旋转瓷砖(当前工作) 2. 翻转瓷砖后我想取消挂钩事件。
我得到的问题只是方法退出后运行的最后一个动画。我想我需要一个故事板,但我看到的所有示例都以两种方式让我感到困惑:
如何更改中间故事板的图像,以及将 targetProperty 设置为什么我一直在这两个博客上工作。
http://www.codeguru.com/csharp/csharp/cs_misc/userinterface/article.php/c12221 http://blogs.msdn.com/tess/archive/2009/03/16/silverlight-wpf-flipimage-animation .aspx
public void FlipFront()
{
DoubleAnimation flipfront = new DoubleAnimation(0, 90, new Duration(new TimeSpan(0, 0, 1)));
SkewTransform skew = new SkewTransform();
this.RenderTransform = skew;
skew.BeginAnimation(SkewTransform.AngleYProperty, flipfront);
}
public void FlipBack()
{
ImageSourceConverter source = new ImageSourceConverter();
this.ImageFace.Source = new BitmapImage(new Uri("Back.jpg", UriKind.Relative));
DoubleAnimation flipfront = new DoubleAnimation(90, 0, new Duration(new TimeSpan(0, 0, 1)));
SkewTransform skew = new SkewTransform();
this.RenderTransform = skew;
skew.BeginAnimation(SkewTransform.AngleYProperty, flipfront);
}
public void Flip()
{
FlipFront();
FlipBack();
}
我将翻转分为两种不同的方法,因为我认为它有助于解决我遇到的问题。