0

masked_blit()は自分のプログラムで、透明度のある.bmpを表示するために使用しています(完璧なピンクを使用)。しかし、私が構築するとき、それは言います:

エラー:「masked_blit」はこのスコープで宣言されていません

Allegroの.hを含めましたが、もちろん、これらすべてを忘れていませんでした。

-lallegro -lallegro_font -lallegro_ttf -lallegro_image

これが私が書いたコードの抜粋です:

#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
[...]
 head = al_load_bitmap("head.bmp");
 masked_blit(head, display, 0,0,0,0,10,10);
 al_clear_to_color(al_map_rgb(0,0,0));
 al_draw_bitmap(head, screen_w / 2, screen_h / 2, 0);
[..]
4

1 に答える 1

3

masked_blitAllegro4関数です。Allegro5には存在しません。

Allegro5のグラフィック機能は次のとおりです

al_draw_bitmap_regionはに最も類似した関数ですがmasked_blit、透明度のルールは異なります(8ビットのアルファチャネルとアルファとしての1ビットのピンク色)。

al_convert_mask_to_alpha(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR mask_color)ここで役立つかもしれません。

于 2013-03-19T00:09:56.863 に答える