2015 ソフトウェア設計及び演習用の班Wiki
15::gr05::anime.h
# ifndef _ANIME_H
# define _ANIME_H
# include <stdlib.h>
# include <glib.h>
# include <glib/gprintf.h>
# include <gtk/gtk.h>
# include <gdk-pixbuf/gdk-pixbuf.h>
# include <gtk_lib.h>
# include <event.h>
typedef struct {
GtkWidget *drawing_area; //描画領域
GdkPixmap *bg_pixmap; //背景
gint width;
gint height;
gint timeout;
GList *sprites; //スプライトのリスト
GSourceFunc move;
myEvent *event;
} myAnimeArea;
typedef struct {
myAnimeArea *anime_area; // のっかっているアニメーション領域
gint timeout; // スプライトのタイムアウト */
GdkPixbuf *pixbuf; // スプライト用画像(ピクスバッファ)
gint width; // 幅
gint height; // 高さ
gint x, y, dx, dy; // 座標・ベクトル
GSourceFunc move; // 動きを決める関数
} mySprite;
myAnimeArea *
my_anime_area_new(gint width, gint height, GdkPixmap *bg_pixmap, gint timeout);
// 幅,高さ,背景画像,時間間隔 (ms) を指定して,
// アニメーション領域を作る
void
my_anime_area_remove(myAnimeArea *area);
//アニメーション領域 area を消す
mySprite *
my_sprite_new(myAnimeArea *area, gchar *path, gint timeout, GSourceFunc, GSourceFunc);
//スプライトを作成する
// area: 作成されるスプライトがのる,アニメーション領域
// path: 画像ファイルへのパス
// timeout: スプライトを動かす時間間隔,
// 描画はアニメーション領域の再描画時に行う
void my_sprite_init(mySprite *sprite);
// スプライトの位置とベクトルの初期値を決める関数
// 利用者が用意する
void my_sprite_move(mySprite *sprite);
// スプライトを移動する関数
// 利用者が用意する
void my_sprite_remove(mySprite *);
// スプライトの消去
#endif
最終更新日:2015/06/26 15:32:05