【问题标题】:Allegro Crashes When Loading Bitmap加载位图时 Allegro 崩溃
【发布时间】:2013-11-30 03:42:24
【问题描述】:

我环顾四周,他们的问题相似,但答案并没有解决我的问题。

所以,问题是 - 如果我尝试在 allegro 中加载/绘制 bmp,它会崩溃,它们与我的项目位于同一目录中,它们被正确命名,我相信问题在于 bmp 本身。如果我使用教程中的 bmp,我使用它们工作正常,但是如果我尝试创建自己的,allegro 在启动时崩溃,是否有某种预设 bmp 我可以用来创建我的精灵?我已经多次检查了我的代码,但如果我遗漏了什么,请指出:)

我的代码:

#include <allegro.h>

int main(int argc, char *argv[])
{
// Startup Stuff
allegro_init();
install_keyboard();
set_color_depth(16);
set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);

// Bitmap Stuff
BITMAP *pic = NULL;

pic = load_bitmap("enemy.bmp", NULL);


blit(pic, screen, 0,0,0,0,200,150);//Draw the whole bitmap to the screen at (0,0)

readkey(); // Wait for Key Press.

destroy_bitmap(pic);



return 0;
}
END_OF_MAIN();

Tutorial Im Reading

提前致谢

【问题讨论】:

  • 堆栈跟踪是什么样的?
  • @JohnSaxton 抱歉,我忘了说我是新手,我在 devcpp 上,我在哪里可以检索堆栈跟踪?
  • 您应该始终检查返回值并做出相应的反应。这样你的程序就不会莫名其妙地崩溃了。 if (!pic) { /* print unable to load bitmap &amp; quit */ }

标签: c++ bitmap bmp allegro


【解决方案1】:

问题是颜色深度,我制作的 bmp 是 16 位的,将它们更改为 24 位解决了问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多