C#WPF如何处理达到某一点的动画?

C#WPF如何处理达到某一点的动画?,c#,wpf,C#,Wpf,我对WPF有点陌生,刚开始研究动画,为了好玩,我开始制作一款老式的游戏Frogger(一款有一只青蛙的游戏,它必须穿过河流/道路,而不会被汽车撞到) 我制作了一个动画,让木头在河里的屏幕上移动: <Canvas> <Rectangle Name="shape_WaterBackground" Fill="#1E90FF" Height="20" Width="260" Canvas.Top="240"/> <Rectangle Nam

我对WPF有点陌生,刚开始研究动画,为了好玩,我开始制作一款老式的游戏Frogger(一款有一只青蛙的游戏,它必须穿过河流/道路,而不会被汽车撞到)

我制作了一个动画,让木头在河里的屏幕上移动:

<Canvas>
        <Rectangle Name="shape_WaterBackground" Fill="#1E90FF" Height="20" Width="260" Canvas.Top="240"/>
        <Rectangle Name="shape_Lumber" Width="40" Canvas.Top="240" Fill="Brown" Height="16" Margin="0,2,0,0" />
        <Image Name="Froggy" Height="20" Width="20" Canvas.Top="300" Canvas.Left="120" Source="Froggy.jpg" />             
</Canvas>
现在我的问题是,当日志到达某个点时,我该如何处理。原因是(就像你可能已经猜到的那样),我想知道如何在不停止动画的情况下,在动画(动画中的不同点或时间,而不是静态)ofc的中途执行动作

这与我在这里描述的问题有些相同:,但是对于C#WPF

作为上面代码中的一个例子,我希望青蛙在跳向河流及其画布时能够存活。Leftproperty与动画日志匹配,否则就会淹死

非常感谢您的任何建议(但请记住我是新手)

对不起,这个问题解释得不太清楚:)

谢谢你,并致以最良好的问候


Lodal

由于您只是设置了
Canvas.Left
属性的动画,所以您可以设置一个
分派器
并读取它(
Canvas.GetLeft
Canvas.GetTop

虽然,也许这只是我,但从概念上讲,WPF动画更多的是为了短暂的冲刺,有点像屏幕过渡之类的,而不是处理整个游戏的动画。如果这是你的目标,那么你最好自己处理动画(设置一个
调度程序
,然后在每次勾选时更新游戏状态)

DoubleAnimation Animate_Lumber_Movement = new DoubleAnimation(-40, 280, TimeSpan.Parse("0:0:7"));

Animate_Lumber_Movement.RepeatBehavior = RepeatBehavior.Forever;

shape_Lumber.BeginAnimation(Canvas.LeftProperty, Animate_Lumber_Movement);