0

以下のコードは機能しません。空白の画面が生成されます。しかし、塗りつぶされた長方形の線を下の線に向かって変更すると、次のようになります。

    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;
}
4

1 に答える 1

4

画面の高さよりも大きい Y 座標で描画しようとしています...

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

493 ~ 493+15 でドロー

493 > 480 および 493+15 > 480

display = al_create_display(640, 480);

これにより、画面の高さが 480 に設定されるため、その数値を超えて描画すると何も表示されなくなります。

使用するとき

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

実際に画面上にいるので、機能します。

于 2012-03-06T00:55:15.690 に答える