ベクトルドロー・レベルゼロ+

ホーム > コンピュータ > C# > WPF in C#

C#でWPFアニメーション[C#WPF]

作成日 2015-06-18
最終更新日

概要

ゲーム開発を題材に、プログラマー向けの数学や物理学を説明する書籍が販売されています。そのほとんどは、cやc++向けです。 そういった書籍で説明されている挙動をアニメーションで表現するための方法について考えていきたいと思っています。

フレームに基づいたアニメーション

WPFには、多くのアニメーションの仕組みが用意されています。 メニューやユーザーインターフェイスの装飾のために、いろいろなアニメーションの方法が準備されています。 ここでは、ゲームや、物理シミュレーションの用途で有用と思われるフレームに基づいたアニメーションを扱います。

仕組み

その機能の本体は、レンダリングコードが、十分に早く実行されている限り、連続的に、1/60秒ごとにイベントを発生させる機能です。 そして、処理が追いつかなければ遅延します。イベントハンドラを、CompositionTarget.Renderingイベントに添付することで、添付したイベントを1/60秒ごとに実行します。 1/60秒後の位置に移動させるコードをイベントに実装すればアニメーションが実現できます。

CompositionTarget.Rendering イベント(msdn)(外部サイト)

コンテナを準備する

コンテナ
アニメーションを動作させるためのウィンドウを用意します。通常Canvasを使います。プログラム実行中に何か操作したくなると思われるので、ボタンも配置します。

アニメーションを実装する

WPFアニメーション関連リンク

WPF関連書籍

プログラミング Windows 第6版 第1章 WPF編 (外部サイト)

「プログラミング Windows 第6版」の紹介記事を書いたサイトがありましたのでリンクを貼っておきます。 「プログラミング Windows 第6版」はホームアプリ向けに書かれた書籍ですので、サンプルプログラムは、VisualStudio for Desktopでは、そのままでは動作しないので注意が必要です。
ページトップへ
C#トップ
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system