4
我为我制作的一些游戏(在C#中)制作了一个模组,它是一个用户控件,它使用故事板在多个图像之后显示多个图像(如幻灯片),因此它看起来像一个滚动的3D死。问题是在特定的keyFrame上启动和停止它。为此,使用Pause()和Resume()似乎是合乎逻辑的,但我无法弄清楚如何在确切的keyFrame上暂停。在精确keyFrame处停止故事板
有些人使用一个单独的dispatcherTimer来做到这一点,但这不够精确,无法在该关键帧处停下来。 (例如,如果你扔4,它必须停在4图像上)。
所以,这将是巨大的,如果有这样一些方法:
TimeSpan keyTime = new TimeSpan(0,0,0,0,750); // 750 miliseconds
myStoryBoard.ResumeTo(keyTime); // <- doesn't exist as far as I know
这里是我的故事板在XAML代码片段:
<Storyboard x:Key="DieStoryBoard" RepeatBehavior="Forever">
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="image1">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:0.05">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="image2">
<DiscreteObjectKeyFrame KeyTime="0:0:0.05">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:0.10">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="image3">
<DiscreteObjectKeyFrame KeyTime="0:0:0.10">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:0.15">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
.....
和一些图像,使事情更清晰:
也许这会更容易为每个案件组成动画? – 2012-04-01 17:42:38
@MaratKhasanov这实际上可行,有36个案例,但由于您可以使用Seek()更改起点,所以我需要6. tx!尽管我仍然想知道是否有适当的课程。 – Jesse 2012-04-01 18:22:10
你有没有想过如何最终做到这一点? – 2012-05-10 08:25:06