2015 ソフトウェア設計及び演習用の班Wiki
15::gr05::anime.h2
キャラクターの画像とそれを表示するための構造体の宣言を行う。
# ifndef _ANIME_H # define _ANIME_H #define TRUE 1 #define FALSE 0 #define ALLY 0 #define ENEMY 1 # 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; gint s_timeout; // スプライトのタイムアウト */ GdkPixbuf *pixbuf; // スプライト用画像(ピクスバッファ) gint width; // 幅 gint height; // 高さ gint x, y, dx, dy; // 座標・ベクトル GSourceFunc move; // 動きを決める関数 GdkPixbufAnimationIter *iter; /* アニメーションのイテレータ */ int mob; //キャラの種類 int enemy; //敵or味方 int hp; //HP int cost; //コスト int atk; //攻撃力 int atk_s; //攻撃間隔(頻度) int atk_j; // int range; //射程 int ex; //存在判定 } mySprite; //アニメーション領域 API myAnimeArea * my_anime_area_new(gint width, gint height, GdkPixmap *bg_pixmap, gint timeout); // 幅,高さ,背景画像,時間間隔 (ms) を指定して, // アニメーション領域を作る void my_anime_area_remove(myAnimeArea *area); //アニメーション領域 area を消す /*int find(mySprite x,mySprite y); //射程内にキャラがいるかどうか(敵か味方か)の判別 void atk(int *x,int *y); //攻撃を実行する関数 mySprite fall(mySprite x); //HP0の時に存在値をTRUE→FALSEにする関数*/ #endif
最終更新日:2015/08/10 10:19:17