如何在c#windows手机中停止慢动作?

时间:2012-07-15 16:16:57

标签: c# windows-phone system.windows.media

这是我在c#microsoft visual studio windows phone中的代码。我的应用程序都是关于“旋转瓶子”,不幸的是,它旋转得很快但是在停止时从不减速,它只是停下来就是这样。任何人都可以。帮我?如何使这个应用程序具有从快速到慢速停止的瓶子的逼真运动?

Random random = new Random(); //Declare random
int randomNumber = random.Next(7201, 7560);
Duration Time_duration = new Duration(TimeSpan.FromSeconds(2)); 
Storyboard MyStory = new Storyboard();
MyStory.Duration = Time_duration;
DoubleAnimation My_Double = new DoubleAnimation();
My_Double.Duration = Time_duration;
MyStory.Children.Add(My_Double);
RotateTransform MyTransform = new RotateTransform();
Storyboard.SetTarget(My_Double, MyTransform);
Storyboard.SetTargetProperty(My_Double, new PropertyPath("Angle"));
My_Double.To = randomNumber;
image1.RenderTransform = MyTransform;
image1.RenderTransformOrigin = new Point(0.5, 0.5);
MyStory.Begin();

1 个答案:

答案 0 :(得分:0)

您想要更改动画的缓动功能。这是一个例子:

    <Storyboard x:Name="SpinBoxStory">
        <DoubleAnimation Duration="0:0:2" To="1375.909" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="rectangle" d:IsOptimized="True">
            <DoubleAnimation.EasingFunction>
                <QuarticEase EasingMode="EaseOut"/>
            </DoubleAnimation.EasingFunction>
        </DoubleAnimation>
    </Storyboard>

Easing Functions are described here.我选择了一种与瓶子相似的特性,由于地面摩擦而减速和减速。

在您的示例中,您只想创建一个新的QuarticEase并将其分配给您的My_Double动画。

相关问题