0

私の問題は、ウィンドウのコンパイルが機能しなくなった後、ビットマップを allegro にロードできないことです。異なる色深度で異なるビットマップを試しましたが、それでもうまくいきません。

#include <allegro.h>

int main(int argc, char *argv[])
{
  allegro_init();
  install_keyboard();

  set_color_depth(16);
  set_gfx_mode(GFX_AUTODETECT_WINDOWED, 800, 600, 0,0);
  set_window_title("The Game");

  BITMAP *bmp = create_bitmap(800,600);
  clear_bitmap(bmp);
  BITMAP *BG = load_bitmap("tlotlo.bmp",NULL);

  while(!key[KEY_ESC])
  {
  blit(bmp, screen, 0,0,0,0, bmp->w, bmp->h);
  blit(BG, bmp, 0,0,0,0, BG->w, BG->h);
  }

  destroy_bitmap(bmp);
  destroy_bitmap(BG);


  return 0;


}
END_OF_MAIN();
4

1 に答える 1

0
  1. 使用するset_color_depth(desktop_color_depth())

  2. 戻りコードをチェックしていません。create_bitmapまたはload_bitmap失敗した場合、それらは戻ってくるので、それNULLに応じて対処する必要があります。

  3. 適切なディレクトリにない場合、ビットマップのロードは失敗します。ビットマップへのフルパスを使用してテストできます。フル パスで問題が解決した場合は、IDE を再構成して正しく動作させる必要があります。

  4. BMP ファイルが Allegro でサポートされていない可能性があります。Allegro 4 の BMP ロード コードは、フォーマットの「最新」バージョンをロードできません。始めたばかりの場合は、代わりに Allegro 5 を使用する必要があります。

于 2013-07-29T14:16:54.293 に答える