!!! アニメーション !! 基本はパラパラ漫画 + 背景を描く + スプライトを動かす + スプライトを描く + 1.にもどる !! GDKでアニメーション * タイムアウトと背景を設定する [[GDK2014::タイムアウト]] [[GDK2014::背景]]
((img anime_01.png)) ** タイムアウトはgtk_main()でイベント待ち中に、一定の時間間隔で関数を呼び出す ** 背景はconfigure_eventのコールバックで設定 *** configure_eventはウィジェットが最初に作成されたときを含む、サイズが変更されたときに起こる + タイムアウトの発生 [[GDK2014::タイムアウト]]
((img anime_02.png)) + 背景でクリア [[GDK2014::背景]]
((img anime_03.png)) + スプライトをドローイングエリアにコピー [[GDK2014::スプライト]] [[GDK2014::透明な画像]]
((img anime_04.png)) !! サンプル ! ソースプログラムの所在 * 以下のsvnのリポジトリ ** https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/animation/ ! ファイルリスト * [gtk_lib.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/animation/gtk_lib.h] [gtk_lib.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/animation/gtk_lib.c] ** gtkを(ほんの少しだけ)簡単に利用できるようにまとめたラッパー(ライブラリ) ** 以前の講義担当だった鈴木先生が作られたものを少し変更 * [cairo_pixbuf_lib.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/cairo_pixbuf/cairo_pixbuf_lib.h] [cairo_pixbuf_lib.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/cairo_pixbuf/cairo_pixbuf_lib.c] ** cairo_pixbufの機能を紹介するためのサンプルライブラリ ** 以前に中谷先生が作られたものを少し変更 * [cairo_pixbuf.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/cairo_pixbuf/cairo_pixbuf.c] ** メインプログラム.アニメーションgifの表示,画像の拡大縮小,画像の回転,透過率の変更などのサンプル ! 実行手順 8< #svnから持ってくる(実行した直下にanimationディレクトリができる) svn export https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/animation #持ってきたディレクトリに移動 cd animation #make make #実行 ./animation >8 ! 参考 * my_animation_earth()の構造 ((img my_animation_earth_09.png)) !! リンク * [[GDK2014::概要]] * [[GDK2014::GdkPixbuf]] * [[GDK2014::イベント]]