Allegro在尝试绘制线条时引发错误

时间:2016-05-02 22:28:44

标签: c++ allegro allegro5

由于某些原因,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;。 enter image description here

更多关闭:

enter image description here

正如你在上面所看到的那样,这是某种类型的断言......我很困惑?!帮助将不胜感激!

1 个答案:

答案 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打电话。