Allegro 5个问题

时间:2012-03-06 00:41:44

标签: allegro

以下代码不起作用;它会产生一个空白屏幕。但是,如果我将填充的矩形线更改为底线:

    al_draw_filled_rectangle(100, 100, 100+15, 100+15, al_map_rgb(155, 255, 155));

它在正确的坐标处产生一个正方形。怎么了?

    #define ALLEGRO_STATICLINK



     #include <allegro5/allegro.h>
     #include <allegro5/allegro_primitives.h>



    int main(int argc, char **argv)

{
    ALLEGRO_DISPLAY *display;


    if(!al_init())
    {
         return -1;
    }

    display = al_create_display(640, 480);
    if(!display)
    {
        return -1;
    }

    if(!al_init_primitives_addon())
    {
        return -1;
    }


    al_draw_filled_rectangle(73, 493, 73+15, 493+15, al_map_rgb(155, 255, 155));

    al_flip_display();

    al_rest(10);

    return 0;
}

1 个答案:

答案 0 :(得分:4)

您正在尝试以大于屏幕高度的Y坐标绘制...

al_draw_filled_rectangle(73, 493, 73+15, 493+15, al_map_rgb(155, 255, 155));

抽奖于493至493 + 15

493&gt; 480和493 + 15&gt; 480

display = al_create_display(640, 480);

这将480设置为您的屏幕高度,因此超过该数字将导致无法显示任何内容。

使用时

al_draw_filled_rectangle(100, 100, 100+15, 100+15, al_map_rgb(155, 255, 155));

你现在实际上在屏幕上,所以它可以工作。