!!! アニメーション !! 基本はパラパラ漫画 + 背景を描く + スプライトを動かす + スプライトを描く + 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] ** [[GDK2014::概要]]で解説済 * [gdk_pixbuf_lib.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/gdk_pixbuf/gdk_pixbuf_lib.h] [gdk_pixbuf_lib.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/gdk_pixbuf/gdk_pixbuf_lib.c] ** [[GDK2014::GdkPixbuf]]で解説済 * [animation_lib.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/animation/animation_lib.h] [animation_lib.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/animation/animation_lib.c] ** animationのためのライブラリ.スプライトとか. ** 以前に中谷先生が作られたものを少し変更 * [animation.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/animation/animation.c] ** いろいろなアニメーションのサンプル.GDKでアニメーションgifを読む,ボールが動く,アニメーション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::イベント]]