2015 ソフトウェア設計及び演習用の班Wiki
gr06::player_data.h
typedef struct {
GtkWidget *drawing_area; //描画領域
GdkPixmap *bg_pixmap; //背景
gint width;
gint height;
gint timeout;
GList *sprites; //スプライトのリスト
} myAnimeArea;
typedef struct {
myAnimeArea *anime_area; // のっかっているアニメーション領域
GdkPixbuf *pixbuf; // スプライト用画像(ピクスバッファ)
gint timeout; // スプライトのタイムアウト gint width; // 幅
gint height; // 高さ
gint x, y; //座標
gint dx,dy; // ベクトル
gint hp; // HP
gint mode; //状態
gint lives; //残機
} mySprite;
mySprite *player; mySprite *weapon;
などの構造体を定義していたが、new_lib.hへ移植した。
/*
mode 0 通常
mode 1 きのこ
mode 2 フラワー
mode 3 通常&&スター
mode 4 きのこ&&スター
mode 5 フラワー&&スター
mode 6 死亡
mode 7 ゲームオーバー
mode 8 リスタート
- /
static void my_sprites_draw(myAnimeArea *area);/* ドローイングエリアにスプライトを描く */
static void my_sprite_draw(mySprite *sprite);/* ドローイングエリアにスプライトを描く */
static void my_anime_area_draw(myAnimeArea *area);/* ドローイングエリアを更新 */
static gint cb_anime_area_timeout(gpointer data);
static gint cb_anime_area_expose(GtkWidget *widget, GdkEventExpose *event, gpointer data);
static gint cb_anime_area_configure(GtkWidget *widget, GdkEventExpose *event, gpointer data);/* configureイベントのコールバック */
void my_anime_set_bg_pixmap(myAnimeArea *self, GdkPixmap *back);
static void my_anime_area_draw(myAnimeArea *area);
void my_sprite_remove(mySprite *sprite);
もっと多くの関数があったが張君のプログラムと見比べて、移植した。
最終更新日:2015/07/17 15:55:29