<<スプライトを表示するCファイルにとりあえず書く関数>> :mySprite *s_○○_new(myAnimeArea *area);
*main文から与えるareaに対してスプライトを作成
*mySprite *○○ = my_sprite_new(area, bg_pic, 20, (GSourceFunc)s_bg_init, (GSourceFunc)s_bg_move); *bg_picには画像のソースを指定(static gchar *〇〇_pic = "image/〇〇.png"みたいな感じ) *第4引数はスプライトを初期化する関数を指定 *第5引数はスプライトを動かす関数を指定 *return 〇〇で〇〇を返す :void s_〇〇_init(mySprite *sprite); *表示したいスプライトの初期座標を指定する *一度だけ呼ばれる *sprite->x = 0;
sprite->y = 0;
sprite->dx = -2;
のように初期化しておくと、最初にmain文で呼んだ時にx=0,y=0,dx=-2の状態で呼ばれる :void s_〇〇_move(mySprite *sprite); *この関数で動きを定義する *この関数はループする関数 * myAnimeArea *area = sprite->anime_area;
gint x = sprite->x;
gint y = sprite->y;
gint dx = sprite->dx, dy = sprite->dy;
gint width = sprite->width;
gint height = sprite->height;
でとりあえずスプライトの値をとっておいて、xやy座標にいろいろ足したり引いたりして最終的に、 *sprite->x = x;
で値を戻すと、そのx座標にスプライトが表示される *座標は特に指定しない限りは左上がゼロ