0

これは、C#Microsoft Visual StudioWindowsPhoneの私のコードです。私のアプリケーションはすべて「SPINTHEBOTTLE」に関するものです。残念ながら、高速で回転しますが、停止の近くで速度が低下することはなく、停止するだけです。誰でもplsできますか。助けて?このアプリに、高速停止から低速停止までのボトルのリアルな動きを持たせるにはどうすればよいですか?

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();
4

1 に答える 1

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>

ここではイージング関数について説明します。 私は、ボトルが回転して地面の摩擦によって減速するのと同様の特性を持つものを選びました。

あなたの例では、新しい QuarticEase を作成して My_Double アニメーションに割り当てたいだけです。

于 2012-07-21T14:51:36.320 に答える