由于某些原因,allegro(C ++ Game Engine),当我尝试运行时抛出错误......所以首先这段代码工作正常! :
#include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h>
int main(void)
{
int width = 640, height = 480;
ALLEGRO_DISPLAY *display = NULL;
if (!al_init())
return -1;
display = al_create_display(width, height);
if (!display)
return -1;
al_flip_display();
//al_draw_line(100, 100, width - 100, 100, al_map_rgb(255, 0, 0), 1);
al_rest(3);
al_destroy_display(display);
return 0;
}
但突然间,当我试图取消上面的那条线时,我得到了这个&#34;错误&#34;。
更多关闭:
正如你在上面所看到的那样,这是某种类型的断言......我很困惑?!帮助将不胜感激!
答案 0 :(得分:1)
在使用基元附加组件之前,您需要通过调用al_init_primitives_addon
对其进行初始化。
#include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h>
int main(void)
{
int width = 640, height = 480;
ALLEGRO_DISPLAY *display = NULL;
if (!al_init())
return -1;
display = al_create_display(width, height);
if (!display)
return -1;
al_init_primitives_addon();
if (!al_init_primitives_addon())
return -1;
al_draw_line(0, 50, 300, 100, al_map_rgb(255, 0, 4), 1.0f);
al_flip_display();
al_rest(13);
al_shutdown_primitives_addon();
al_destroy_display(display);
return 0;
}
完整文档可在此处找到:https://www.allegro.cc/manual/5/al_init_primitives_addon。
当你完成后,别忘了给al_shutdown_primitives_addon
打电话。