gpt4 book ai didi

c++ - 快板 draw_sprite()

转载 作者:搜寻专家 更新时间:2023-10-31 01:19:45 24 4
gpt4 key购买 nike

我的调试文件夹中有一个名为“x.bmp”的 114x114 位图和这个简单的代码

#include <allegro.h>

BITMAP *Sprite;

int main(){
allegro_init();
install_keyboard();
set_color_depth(16);
set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0);

Sprite = load_bitmap( "x.bmp", NULL);

acquire_screen();
draw_sprite(screen, Sprite, 50, 50);
release_screen();

readkey();

return 0;

}
END_OF_MAIN();

但是它卡住起来看起来像这样 Frozen screen

但是,当我通过 Windows 资源管理器运行 AllegroTest.exe 文件时,它可以工作...

我正在使用 Allegro 4.2.3 和 MSVC++ 2008

编辑:这是我在调试输出窗口中得到的一些有趣的东西:

al-gfx INFO: The driver will wait for vsync.
al-gfx INFO: set_gfx_card success for 640x480x16.
Assert failed at line 250 of c:\users\matthew\desktop\allegro\4.2\include\allegro\inline\draw.inlThe thread 'Win32 Thread' (0x137c) has exited with code -805306369 (0xcfffffff).
The thread 'Win32 Thread' (0x25b8) has exited with code -805306369 (0xcfffffff).

c:\users\matthew 不存在!!!我没有名为 matthew 的用户?

最佳答案

位图很可能无法加载。

当您从 Visual Studio 调试器启动应用程序时,默认工作目录是项目目录。当您通过资源管理器启动应用程序时,工作目录是可执行文件所在的目录。通常,项目目录将为 ...\SolutionName\ProjectName\

当您提供相对路径时,即 x.bmp,应用程序将在工作目录中搜索它,然后是其他一些目录,例如 PATH 环境变量中列出的目录。如果可能,通常最好给出绝对路径。

很可能您的图像文件与可执行文件位于同一目录中,但该目录不是项目目录。

关于c++ - 快板 draw_sprite(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5759758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com