allegro 4.2.1 でゲームを作成していますが、特定の色を削除して非表示にする方法を教えてください。背景色は (255, 0, 255) です。私は次のサイトにアクセスしましたが、あまり役に立ちませんでした。
http://www.allegro.cc/forums/thread/599210、 http://www.cpp-home.com/tutorials/258_1.htm
誰かが私に例を提供してくれたら、とてもうれしいです。
allegro 4.2.1 でゲームを作成していますが、特定の色を削除して非表示にする方法を教えてください。背景色は (255, 0, 255) です。私は次のサイトにアクセスしましたが、あまり役に立ちませんでした。
http://www.allegro.cc/forums/thread/599210、 http://www.cpp-home.com/tutorials/258_1.htm
誰かが私に例を提供してくれたら、とてもうれしいです。
透明ピクセルを有効にするには、次のことを行う必要があります。
電話set_color_depth(32)する前に電話するset_gfx_mode()
電話をかけてから画像を読み込むset_gfx_mode()
masked_blit()またはを使用draw_sprite()して画像を描画します。
上記を行うと、すべての「マジックピンク」ピクセル(100%赤、0%緑、100%青)が透明として扱われます。
BITMAP *bmp;
allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
clear_to_color(screen, makecol(0,0,0));
// once the video mode has been set, it is safe to create/load images.
// this bitmap will be 640x480 with pure pink.
bmp = create_bitmap(640, 480);
clear_to_color(bmp, makecol(255,0,255));
rectfill(bmp, 100,100, 200,200, makecol(255,255,255));
draw_sprite(screen, bmp, 0, 0);
// or
// masked_blit(bmp, screen, 0,0, 0,0, 640,480);