アニメーション速度の変更

Published 20 July 07 05:55 PM | hiroyuk 

WPFでアニメーション速度を変更するときは、AnimationClock.Controller.SpeedRatioを使います。

AnimationClockを使うには、次のようにコードでAnimationClockとAnimationとターゲットプロパティを関連付ける必要があります。

AnimationClock myClock;

DoubleAnimation myAnimation =

  new DoubleAnimation(0.0, 360.0, new Duration(new TimeSpan(0, 0, 5)));

myAnimation.RepeatBehavior = RepeatBehavior.Forever;

myClock = myAnimation.CreateClock();

myEllipse.ApplyAnimationClock(Ellipse.WidthProperty, myClock);  

すると例えばスライダを使って速度を変更するようなコールバックは次のようになります

private void SpeedChanged(object sender, RoutedEventArgs e)

{

    Slider s = (Slider)sender;

    double w = s.Value;

    myClock.Controller.SpeedRatio = w;

}

 

Comments

No Comments
Anonymous comments are disabled

About hiroyuk

マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。

Search

This Blog

DirectX 情報

Silverlight 情報

Windows 情報

WPF 情報

並列コンピューティング情報

著書

Syndication

Page view tracker