2016 ソフトウェア設計及び演習用の班Wiki

gr06::背景モジュール

自動スクロール

loop_background関数

void loop_background(GtkWidget *a)
{
  if(ch==1) {
    set_background(d);
    timer_id=g_timeout_add(100, (GSourceFunc)timerdo, d);
  }
  if(ch==2) {
    set_background(d);   
    timer_id=g_timeout_add(100, (GSourceFunc)timerdo_c2, d);
  }
  if(ch==3) {
    set_background(d);
    timer_id=g_timeout_add(100, (GSourceFunc)timerdo_c3, d);
  }
  return;
}

説明

  • 各章が始まるとloop_background関数(main.c)が呼び出される。
  • set_background関数(view.c)内では、背景画像を読み込んで表示を行い、次のスクロールのために関数を呼び出すたびにy座標を足している。
  • timerdo関数(chapter1.c)内ではset_background関数(背景の表示)、view_all関数(敵やアイテムの表示)、背景のスクロールに合わせて敵の制御を行う関数を呼び出している。
  • timerdo_c2関数(chapter2.c)は同様にset_background関数、敵の動きを制御する関数、相手に話しかけるためのフラグを立てる関数などを呼び出している。
  • timerdo_c3関数(chapter3.c)はtimerdo関数とほぼ同じで3章用に一部変更している。

前ページに戻る


最終更新日:2016/08/05 04:01:15