2012-07-15 19 views
0

這是我在C#微軟的Visual Studio Windows Phone的代碼。我的應用程序是所有關於「旋轉瓶」,不幸的是,它旋轉速度快,但從來沒有減慢,而在附近的停止,它只是停止,然後就是這樣。任何人都可以請。幫我?如何讓這個應用程序有一個從快速到緩慢停止瓶的逼真運動?如何在c#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(); 
+0

這種情況很容易在XAML完成與Expression Blend的,如果你有機會獲得它。我相信你可以免費試用幾個月。我將在下面發佈代碼解決方案。 – cunningdave 2012-07-21 14:41:58

回答

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動畫。

相關問題