我一直试图检查像素颜色是否为绿色,我已经看到了这个:
Checking pixel color Allegro 5 C++,
但我的代码中没有位图。
我在allegro5文档中搜索,似乎没有任何东西可以帮助我。
有没有解决方案将显示转换为位图?或者从显示器获取像素颜色?谁知道怎么做?我有像素的位置,仅此而已。
答案 0 :(得分:1)
使用al_get_backbuffer
将显示屏显示为位图,然后使用al_get_pixel
检索像素。
答案 1 :(得分:0)
我尝试了以下操作,并得到了一些结果
ALLEGRO_BITMAP *bitmap;
bitmap = al_get_backbuffer(display);
ALLEGRO_COLOR color = al_get_pixel(bitmap,x,y);
bool isBlack = (color.r ==0 && color.g == 0 && color.b ==0);
if(!isBlack){
alive=0;
explode() or something
}