1

はじめに、私は allegro の完全な初心者であり、ほとんど始めたばかりだと言いたいだけです。私がやりたいことは、画面上に線を 1 秒間保持し、その後消えるようにすることです。今起こっていることは、行が画面にとどまっていることだけです。

これが私のコードです:

#include <allegro.h>
#include <cstdlib>

BITMAP *buffer;

int main(){

    allegro_init();
    install_mouse();
    install_keyboard();
    set_color_depth(16);
    set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0);
    buffer = create_bitmap( 640, 480);

    while( !key[KEY_ESC]){


     if (key[KEY_SPACE]){

      line( buffer, 30, 450, mouse_x, mouse_y, makecol( 255, 0, 0));

      }

    draw_sprite( screen, buffer, 0, 0);
    release_screen();

    rest(10);

    }

    return 0;

}
END_OF_MAIN();
4

1 に答える 1

0

ここで起こっていることは、画面をクリアすることなく、同じ場所に繰り返し線を引いているということです。次の方法で画面をクリアできます。

clear_to_color(buffer,makecol(r,g,b));

最も簡単な解決策は、好みの RGB 値を使用してこの行をループの先頭に追加することです。

于 2013-02-16T07:50:57.680 に答える