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