ソフトウェア設計及び演習2016
GDK2016::アニメーション
アニメーション
GDKでアニメーション
-
タイムアウトと背景を設定する GDK2016::タイムアウト GDK2016::背景
- タイムアウトはgtk_main()でイベント待ち中に、一定の時間間隔で関数を呼び出す
- 背景はconfigure_eventのコールバックで設定
- configure_eventはウィジェットが最初に作成されたときを含む、サイズが変更されたときに起こる
-
タイムアウトの発生 GDK2016::タイムアウト
- 背景でクリア GDK2016::背景
- スプライトをドローイングエリアにコピー GDK2016::スプライト GDK2016::透明な画像
サンプル
ファイルリスト
-
gtk_lib.h gtk_lib.c
- GDK2016::概要で解説済
- gdk_pixbuf_lib.h gdk_pixbuf_lib.c
- animation_lib.h animation_lib.c
- animationのためのライブラリ.スプライトとか.
- 以前に中谷先生が作られたものを少し変更
- anime_pack構造体の理解が必要!
typedef struct { GtkWidget *drawing_area; // スプライトを動かすフィールドに相当するドローイングエリア gint timeout; // アニメーションのタイムアウト(g_timeout_addの戻り値). // g_timeout_addで設定した時間ごとに,drawing_areaにs_pixbufが描かれる GdkPixbuf *s_pixbuf; // スプライト用のピクスバッファ gint s_width; // スプライト幅 gint s_height; // スプライト高さ gint x, y, dx, dy; // スプライトの現在位置座標,ベクトル(次のタイムアウトで進む方向) gint s_timeout; // スプライト自身がアニメーションするような場合のタイムアウト.回る地球とか GdkPixbufAnimationIter *iter; // s_timeoutを使う場合に用いるイテレータ } anime_pack;
-
animation.c
- いろいろなアニメーションのサンプル.GDKでアニメーションgifを読む,ボールが動く,アニメーションgifが動く,キャラクターが動く,など.
最終更新日:2016/06/03 11:39:36