首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快板draw_sprite()

快板draw_sprite()
EN

Stack Overflow用户
提问于 2011-04-22 20:28:37
回答 1查看 2.1K关注 0票数 2

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

代码语言:javascript
复制
#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();

但是它结冰了,看起来就像这样

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

我使用的是快板4.2.3和MSVC++ 2008。

编辑:,我在我的调试输出窗口中看到了一些有趣的东西:

代码语言:javascript
复制
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:\用户\马修不存在!我没有叫马修的用户?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-23 00:00:58

位图很可能无法加载。

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

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

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5759758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档