我来自SDL,在那里我有一个名为SDL_GetError()的函数,它会奇怪地返回一个内部错误的const char *。这是我在Allegro 5上的代码:
regex
文件正常,我可以直接从al_load_bitmap加载,但是,由于我已经添加了我的个人功能,Allegro崩溃并给我错误对话框(因此,bmp必须是nullptr)。问题是这个错误对我来说绝对没用,我需要知道Allegro内部发生了什么(所以像al_get_error()这样的东西会很棒)。我怎么知道发生了什么?
答案 0 :(得分:2)
变量播放器是否在文件范围内;换句话说,它是在main
运行之前初始化并且有机会初始化allegro库吗?
假设是这种情况,请尝试将行更改为
ALLEGRO_BITMAP *player = nullptr;
并在程序启动期间的适当时间调用的函数中初始化它,如:
void init_game_bitmaps()
{
player = load_bmp("GFX\\player_up.bmp");
// Other initialisation here ...
}
称之为:
// Somewhere in main, or an appropriate function call:
init_game_bitmaps();